dovecot-2.0: epoll: Improved error messages.

dovecot at dovecot.org dovecot at dovecot.org
Sun Apr 4 23:18:31 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/60a25bda7e02
changeset: 11027:60a25bda7e02
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Apr 04 23:18:25 2010 +0300
description:
epoll: Improved error messages.

diffstat:

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

diffs (29 lines):

diff -r cf302ede55bc -r 60a25bda7e02 src/lib/ioloop-epoll.c
--- a/src/lib/ioloop-epoll.c	Sun Apr 04 23:12:00 2010 +0300
+++ b/src/lib/ioloop-epoll.c	Sun Apr 04 23:18:25 2010 +0300
@@ -110,8 +110,12 @@
 	op = first ? EPOLL_CTL_ADD : EPOLL_CTL_MOD;
 
 	if (epoll_ctl(ctx->epfd, op, io->fd, &event) < 0) {
-		i_panic("io_loop_handle_add: epoll_ctl(%d, %d): %m",
-			op, io->fd);
+		if (errno == EPERM && op == EPOLL_CTL_ADD) {
+			i_fatal("epoll_ctl(add, %d) failed: %m "
+				"(fd doesn't support epoll)", io->fd);
+		}
+		i_panic("epoll_ctl(%s, %d) failed: %m",
+			op == EPOLL_CTL_ADD ? "add" : "mod", io->fd);
 	}
 
 	if (first) {
@@ -143,8 +147,8 @@
 		op = last ? EPOLL_CTL_DEL : EPOLL_CTL_MOD;
 
 		if (epoll_ctl(ctx->epfd, op, io->fd, &event) < 0) {
-			i_error("io_loop_handle_remove: epoll_ctl(%d, %d): %m",
-				op, io->fd);
+			i_error("epoll_ctl(%s, %d) failed: %m",
+				op == EPOLL_CTL_DEL ? "del" : "mod", io->fd);
 		}
 	}
 	if (last) {


More information about the dovecot-cvs mailing list