dovecot-2.2: ioloop-epoll: Fix fatal epoll_wait() error occurrin...

dovecot at dovecot.org dovecot at dovecot.org
Sat Aug 29 11:50:14 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/f7c1c1dac689
changeset: 19034:f7c1c1dac689
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Sat Aug 29 14:21:27 2015 +0300
description:
ioloop-epoll: Fix fatal epoll_wait() error occurring when there are only ios with no fd.

diffstat:

 src/lib/ioloop-epoll.c |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff -r a8e01e385e90 -r f7c1c1dac689 src/lib/ioloop-epoll.c
--- a/src/lib/ioloop-epoll.c	Sat Aug 29 14:20:57 2015 +0300
+++ b/src/lib/ioloop-epoll.c	Sat Aug 29 14:21:27 2015 +0300
@@ -177,7 +177,7 @@
 	msecs = io_loop_get_wait_time(ioloop, &tv);
 
 	events = array_get_modifiable(&ctx->events, &events_count);
-	if (ioloop->io_files != NULL) {
+	if (ioloop->io_files != NULL && events_count > ctx->deleted_count) {
 		ret = epoll_wait(ctx->epfd, events, events_count, msecs);
 		if (ret < 0 && errno != EINTR)
 			i_fatal("epoll_wait(): %m");


More information about the dovecot-cvs mailing list