Ignore:
Timestamp:
2010-03-27T02:47:36+01:00 (7 years ago)
Author:
jow
Message:

[package] uhttpd: clear script timeout as soon as data is received from the child

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/uhttpd/src/uhttpd-cgi.c

    r20500 r20501  
    361361                        memset(hdr, 0, sizeof(hdr)); 
    362362 
     363                        timeout.tv_sec = cl->server->conf->script_timeout; 
     364                        timeout.tv_usec = 0; 
     365 
    363366#define ensure(x) \ 
    364367        do { if( x < 0 ) goto out; } while(0) 
     
    373376                                FD_SET(wfd[1], &writer); 
    374377 
    375                                 timeout.tv_sec = cl->server->conf->script_timeout; 
    376                                 timeout.tv_usec = 0; 
    377  
    378378                                /* wait until we can read or write or both */ 
    379                                 if( select(fd_max, &reader, (content_length > -1) ? &writer : NULL, NULL, &timeout) > 0 ) 
    380                                 { 
     379                                if( select(fd_max, &reader, 
     380                                        (content_length > -1) ? &writer : NULL, NULL, 
     381                                        (header_sent < 1) ? &timeout : NULL) > 0 
     382                                ) { 
    381383                                        /* ready to write to cgi program */ 
    382384                                        if( FD_ISSET(wfd[1], &writer) ) 
Note: See TracChangeset for help on using the changeset viewer.