Ignore:
Timestamp:
2010-03-27T15:31:35+01:00 (6 years ago)
Author:
jow
Message:

[package] uhttpd: block SIGCHLD until it is expected (#6957)

File:
1 edited

Legend:

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

    r20428 r20513  
    8989} 
    9090 
     91/* interruptable select() */ 
     92int select_intr(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t) 
     93{ 
     94        int rv; 
     95        sigset_t ssn, sso; 
     96 
     97        /* unblock SIGCHLD */ 
     98        sigemptyset(&ssn); 
     99        sigaddset(&ssn, SIGCHLD); 
     100        sigprocmask(SIG_UNBLOCK, &ssn, &sso); 
     101 
     102        rv = select(n, r, w, e, t); 
     103 
     104        /* restore signal mask */ 
     105        sigprocmask(SIG_SETMASK, &sso, NULL); 
     106 
     107        return rv; 
     108} 
     109 
    91110 
    92111int uh_tcp_send(struct client *cl, const char *buf, int len) 
Note: See TracChangeset for help on using the changeset viewer.