From: Timo Sirainen Date: Sun, 4 May 2003 16:16:26 +0000 (+0300) Subject: Don't try to set /dev/null fd nonblocking, all systems don't like that. X-Git-Tag: 1.1.alpha1~4683 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b414ac8b64ade1535bc595c80ed1bd978559723;p=thirdparty%2Fdovecot%2Fcore.git Don't try to set /dev/null fd nonblocking, all systems don't like that. --HG-- branch : HEAD --- diff --git a/src/master/main.c b/src/master/main.c index 4a05f85e80..f469451599 100644 --- a/src/master/main.c +++ b/src/master/main.c @@ -264,10 +264,16 @@ static void listen_protocols(void) if (*fd != -1) i_fatal("Protocol %s given more than once", *proto); - *fd = port == 0 ? dup(null_fd) : net_listen(ip, &port); - if (*fd == -1) - i_fatal("listen(%d) failed: %m", port); - net_set_nonblock(*fd, TRUE); + if (port == 0) { + *fd = dup(null_fd); + if (*fd == -1) + i_fatal("dup(null_fd) failed: %m"); + } else { + *fd = net_listen(ip, &port); + if (*fd == -1) + i_fatal("listen(%d) failed: %m", port); + net_set_nonblock(*fd, TRUE); + } fd_close_on_exec(*fd, TRUE); }