[dovecot-cvs] dovecot/src/lib ioloop-poll.c,1.18,1.19
cras at procontrol.fi
cras at procontrol.fi
Mon May 26 17:07:14 EEST 2003
Update of /home/cvs/dovecot/src/lib
In directory danu:/tmp/cvs-serv19980
Modified Files:
ioloop-poll.c
Log Message:
bugfix
Index: ioloop-poll.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib/ioloop-poll.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- ioloop-poll.c 24 May 2003 15:21:44 -0000 1.18
+++ ioloop-poll.c 26 May 2003 13:07:12 -0000 1.19
@@ -186,13 +186,11 @@
pollfd = &data->fds[data->fd_index[io->fd]];
if (pollfd->revents != 0) {
- ret--;
-
if (pollfd->revents & POLLNVAL) {
i_error("invalid I/O fd %d, callback %p",
io->fd, (void *) io->callback);
pollfd->events &= ~POLLNVAL;
- pollfd->revents &= ~POLLNVAL;
+ pollfd->revents = 0;
call = FALSE;
} else if ((io->condition &
(IO_READ|IO_WRITE)) == (IO_READ|IO_WRITE)) {
@@ -207,6 +205,9 @@
} else {
call = FALSE;
}
+
+ if (pollfd->revents == 0)
+ ret--;
if (call) {
t_id = t_push();
More information about the dovecot-cvs
mailing list