diff options
author | Niels Provos <provos@gmail.com> | 2008-02-06 16:14:42 +0000 |
---|---|---|
committer | Niels Provos <provos@gmail.com> | 2008-02-06 16:14:42 +0000 |
commit | 6baff52296073f668322e74f397e91ebb29030b9 (patch) | |
tree | eafe4426fa2e6d3b8b03784e4054988db3b4027b /evport.c | |
parent | 8c66d4e289290c58cfd34865e0405b549320d532 (diff) | |
download | libevent-6baff52296073f668322e74f397e91ebb29030b9.tar.gz |
EAGAIN check for event ports; from Wijngaards
svn:r629
Diffstat (limited to 'evport.c')
-rw-r--r-- | evport.c | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -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) { |