]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Better handling for POLLNVAL.
authorTimo Sirainen <tss@iki.fi>
Sun, 27 Apr 2003 02:51:34 +0000 (05:51 +0300)
committerTimo Sirainen <tss@iki.fi>
Sun, 27 Apr 2003 02:51:34 +0000 (05:51 +0300)
--HG--
branch : HEAD

src/lib/ioloop-poll.c

index 3fc67308f419fdef3c0df14fb9224f94c7b95f10..3c1997d6b4f676b60e6a2e8939056f6e0e83b0eb 100644 (file)
@@ -186,13 +186,11 @@ void io_loop_handler_run(struct ioloop *ioloop)
                        continue;
 
                if (pollfd->revents & POLLNVAL) {
-                       if (!io->invalid) {
-                               io->invalid = TRUE;
-                               i_warning("invalid I/O fd %d, callback %p",
-                                         io->fd, (void *) io->callback);
-                       }
-
-                        continue;
+                       i_error("invalid I/O fd %d, callback %p",
+                               io->fd, (void *) io->callback);
+                       pollfd->events &= ~POLLNVAL;
+                       pollfd->revents &= ~POLLNVAL;
+                       continue;
                }
 
                if ((io->condition &