From: Timo Sirainen Date: Thu, 2 Apr 2009 18:10:16 +0000 (-0400) Subject: If epoll_create() fails with EMFILE, suggest increasing epoll's max_user_instances. X-Git-Tag: 1.2.rc1~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=717a444a466280a84a468220f647fdcb9f3b546f;p=thirdparty%2Fdovecot%2Fcore.git If epoll_create() fails with EMFILE, suggest increasing epoll's max_user_instances. --HG-- branch : HEAD --- diff --git a/src/lib/ioloop-epoll.c b/src/lib/ioloop-epoll.c index b828816791..adda4a1c97 100644 --- a/src/lib/ioloop-epoll.c +++ b/src/lib/ioloop-epoll.c @@ -35,8 +35,14 @@ void io_loop_handler_init(struct ioloop *ioloop, unsigned int initial_fd_count) i_array_init(&ctx->fd_index, initial_fd_count); ctx->epfd = epoll_create(initial_fd_count); - if (ctx->epfd < 0) - i_fatal("epoll_create(): %m"); + if (ctx->epfd < 0) { + if (errno != EMFILE) + i_fatal("epoll_create(): %m"); + else { + i_fatal("epoll_create(): %m (you may need to increase " + "/proc/sys/fs/epoll/max_user_instances)"); + } + } fd_close_on_exec(ctx->epfd, TRUE); }