diff --git a/ChangeLog b/ChangeLog index 7ba5f421..c4c2ff39 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,7 +23,8 @@ Changes in 1.4.1-beta: o removed linger from http server socket; reported by Ilya Martynov o Rewrite win32.c backend to be O(n lg n) rather than O(n^2) o remove pending timeouts on event_base_free() - + o also check EAGAIN for Solaris' event ports; from W.C.A. Wijngaards + Changes in 1.4.0-beta: o allow \r or \n individually to separate HTTP headers instead of the standard "\r\n"; from Charles Kerr. o demote most http warnings to debug messages diff --git a/evport.c b/evport.c index f74c9dcc..62952256 100644 --- a/evport.c +++ b/evport.c @@ -234,10 +234,8 @@ static int grow(struct evport_data *epdp, int factor) { struct fd_info *tmp; - struct fd_info *old = epdp->ed_fds; int oldsize = epdp->ed_nevents; int newsize = factor * oldsize; - int ii; assert(factor > 1); check_evportop(epdp); @@ -332,7 +330,7 @@ evport_dispatch(struct event_base *base, void *arg, struct timeval *tv) if ((res = port_getn(epdp->ed_port, pevtlist, EVENTS_PER_GETN, (unsigned int *) &nevents, ts_p)) == -1) { - if (errno == EINTR) { + if (errno == EINTR || errno == EAGAIN) { evsignal_process(base); return (0); } else if (errno == ETIME) {