from trunk: check EAGAIN for Solaris' event ports; from W.C.A. Wijngaards

svn:r631
This commit is contained in:
Niels Provos 2008-02-09 16:05:23 +00:00
parent d5aeeca0e8
commit 3d7ffbd995
2 changed files with 3 additions and 4 deletions

View File

@ -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

View File

@ -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) {