commit ba720fcbaeaacee700d7d23936cf481e6fcb83b1 from: Florian Westphal date: Tue Sep 14 21:53:59 2010 UTC 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... commit - b3cfbc3d28de9098be7cffc22ea9c5b98c36443f commit + ba720fcbaeaacee700d7d23936cf481e6fcb83b1 blob - aaff1eabfa2099488ffca7f648fe2eec50a60d33 blob + 80eef3e603d3a382f2e31bf8511ce4433c24c218 --- src/ngircd/sighandlers.c +++ 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;