]> granicus.if.org Git - libevent/commitdiff
EAGAIN check for event ports; from Wijngaards
authorNiels Provos <provos@gmail.com>
Wed, 6 Feb 2008 16:14:42 +0000 (16:14 +0000)
committerNiels Provos <provos@gmail.com>
Wed, 6 Feb 2008 16:14:42 +0000 (16:14 +0000)
svn:r629

ChangeLog
evport.c

index acf951b04285ac82e9200ae11c3372832bf53c5b..d6da4d458d52bfef6778401126b5a5288618166f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -35,6 +35,7 @@ Changes in current version:
  o allow association of meta data with RPC requests for hook processing
  o associate more context for hooks to query such as the connection object
  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:
  o allow \r or \n individually to separate HTTP headers instead of the standard "\r\n"; from Charles Kerr.
index c5d24e70856fc12ba9e746fd8148845f1107ccc2..28c7bf381ba577173d89983d7afb29375c3e9fe1 100644 (file)
--- 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) {