]> git.saurik.com Git - redis.git/commitdiff
Set fd to writable when poll(2) detects POLLERR or POLLHUP event.
authorjokea <tfengjun@gmail.com>
Wed, 23 May 2012 09:19:49 +0000 (17:19 +0800)
committerantirez <antirez@gmail.com>
Wed, 23 May 2012 09:33:25 +0000 (11:33 +0200)
src/ae.c

index c58c4b74bcc1d530ff24f927ceb1e80018e89188..ba53b456805ad3b33910f96e57a2a2e8490cddd2 100644 (file)
--- a/src/ae.c
+++ b/src/ae.c
@@ -385,6 +385,8 @@ int aeWait(int fd, int mask, long long milliseconds) {
     if ((retval = poll(&pfd, 1, milliseconds))== 1) {
         if (pfd.revents & POLLIN) retmask |= AE_READABLE;
         if (pfd.revents & POLLOUT) retmask |= AE_WRITABLE;
+       if (pfd.revents & POLLERR) retmask |= AE_WRITABLE;
+        if (pfd.revents & POLLHUP) retmask |= AE_WRITABLE;
         return retmask;
     } else {
         return retval;