summaryrefslogtreecommitdiff
path: root/evport.c
diff options
context:
space:
mode:
authorNiels Provos <provos@gmail.com>2008-02-06 16:14:42 +0000
committerNiels Provos <provos@gmail.com>2008-02-06 16:14:42 +0000
commit6baff52296073f668322e74f397e91ebb29030b9 (patch)
treeeafe4426fa2e6d3b8b03784e4054988db3b4027b /evport.c
parent8c66d4e289290c58cfd34865e0405b549320d532 (diff)
downloadlibevent-6baff52296073f668322e74f397e91ebb29030b9.tar.gz
EAGAIN check for event ports; from Wijngaards
svn:r629
Diffstat (limited to 'evport.c')
-rw-r--r--evport.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/evport.c b/evport.c
index c5d24e70..28c7bf38 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) {