Changeset 5577
- Timestamp:
- 06/05/08 14:44:08 (3 months ago)
- Files:
-
- wired/trunk/wired/transfers.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
wired/trunk/wired/transfers.c
r5540 r5577 616 616 char buffer[WD_TRANSFER_BUFFER_SIZE]; 617 617 const char *file; 618 wi_time_interval_t interval, speedinterval, statusinterval, accountinterval;618 wi_time_interval_t timeout, interval, speedinterval, statusinterval, accountinterval; 619 619 wi_socket_state_t state; 620 620 ssize_t bytes, speedbytes, statsbytes; … … 659 659 660 660 /* wait to write */ 661 timeout = 0.0; 662 661 663 do { 662 664 state = wi_socket_wait_descriptor(sd, 0.1, false, true); 665 666 if(state == WI_SOCKET_TIMEOUT) { 667 timeout += 0.1; 668 669 if(timeout >= 30.0) { 670 wi_log_err(WI_STR("Timed out waiting to write download to %@"), 671 wd_user_ip(transfer->user)); 672 673 transfer->state = WD_TRANSFER_STOPPED; 674 } 675 } 663 676 } while(state == WI_SOCKET_TIMEOUT && transfer->state == WD_TRANSFER_RUNNING); 664 677 665 678 if(transfer->state != WD_TRANSFER_RUNNING) 666 679 break; … … 781 794 char buffer[WD_TRANSFER_BUFFER_SIZE]; 782 795 const char *file; 783 wi_time_interval_t interval, speedinterval, statusinterval, accountinterval;796 wi_time_interval_t timeout, interval, speedinterval, statusinterval, accountinterval; 784 797 wi_socket_state_t state; 785 798 ssize_t result, speedbytes, statsbytes; … … 809 822 while(transfer->state == WD_TRANSFER_RUNNING && transfer->transferred < transfer->size) { 810 823 /* wait to read */ 824 timeout = 0.0; 825 811 826 do { 812 827 state = wi_socket_wait_descriptor(sd, 0.1, true, false); 828 829 if(state == WI_SOCKET_TIMEOUT) { 830 timeout += 0.1; 831 832 if(timeout >= 30.0) { 833 wi_log_err(WI_STR("Timed out waiting to read upload from %@"), 834 wd_user_ip(transfer->user)); 835 836 transfer->state = WD_TRANSFER_STOPPED; 837 } 838 } 813 839 } while(state == WI_SOCKET_TIMEOUT && transfer->state == WD_TRANSFER_RUNNING); 814 840
