Changeset 4603

Show
Ignore:
Timestamp:
02/13/07 21:18:15 (2 years ago)
Author:
morris
Message:

Don't queue if there are no limits

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wired/trunk/wired/transfers.c

    r4576 r4603  
    320320        wi_uinteger_t           position; 
    321321        wi_uinteger_t           i, count; 
     322        wi_uinteger_t           total_downloads, total_uploads, client_downloads, client_uploads; 
    322323        wi_boolean_t            queue; 
    323324         
     
    325326        wi_lock_lock(wd_transfers_status_lock); 
    326327         
     328        total_downloads = wd_settings.totaldownloads; 
     329        client_downloads = wd_settings.clientdownloads; 
     330        total_uploads = wd_settings.totaluploads; 
     331        client_uploads = wd_settings.clientuploads; 
     332 
    327333        clients = wi_set_init(wi_set_alloc()); 
    328334        count = wi_array_count(wd_transfers); 
     
    351357                                 
    352358                                if(transfer->type == WD_TRANSFER_DOWNLOAD) { 
    353                                         queue = (wd_transfers_active_downloads >= wd_settings.totaldownloads || 
    354                                                          transfer->client->downloads >= wd_settings.clientdownloads); 
     359                                        queue = (total_downloads > 0 || client_downloads > 0) && 
     360                                                        (wd_transfers_active_downloads >= total_downloads || 
     361                                                         transfer->client->downloads >= client_downloads); 
    355362                                } else { 
    356                                         queue = (wd_transfers_active_uploads >= wd_settings.totaluploads || 
    357                                                          transfer->client->uploads >= wd_settings.clientuploads); 
     363                                        queue = (total_uploads > 0 || client_uploads > 0) && 
     364                                                        (wd_transfers_active_uploads >= total_uploads || 
     365                                                         transfer->client->uploads >= client_uploads); 
    358366                                } 
    359367