From ba720fcbaeaacee700d7d23936cf481e6fcb83b1 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Tue, 14 Sep 2010 23:53:59 +0200 Subject: [PATCH] Fix signalpipe file descriptor leak on RESTART Signals_Init() must only be called once. This does not affect any ngircd release version. Earlier version of this patch moved the io and sighandler initialization before the while() loop, but as Alexander Barton noticed that broke all systems without builtin select support in io.c... --- src/ngircd/sighandlers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ngircd/sighandlers.c b/src/ngircd/sighandlers.c index aaff1eab..80eef3e6 100644 --- a/src/ngircd/sighandlers.c +++ b/src/ngircd/sighandlers.c @@ -266,6 +266,8 @@ Signals_Init(void) #ifdef HAVE_SIGACTION struct sigaction saction; #endif + if (signalpipe[0] > 0 || signalpipe[1] > 0) + return true; if (pipe(signalpipe)) return false; -- 2.39.2