[syslog-ng]killed by HUP signal on Mac OS X 10.3
Balazs Scheidler
syslog-ng@lists.balabit.hu
Wed, 28 Apr 2004 11:25:33 +0200
2004-04-27, k keltezéssel 18:21-kor Jeremy Mates ezt írta:
> The syslog-ng daemon dies on Mac OS X when a HUP signal is sent:
>
> $ sudo /usr/local/sbin/syslog-ng -d
> io.c: Preparing fd 4 for reading
> io.c: Preparing fd 5 for reading
> syslog-ng version 1.6.2 starting
> io.c: Preparing fd 7 for writing
> io.c: Preparing fd 8 for writing
> SIGHUP received, restarting syslog-ng
> poll.c:282: failed assertion `pArray != (struct pollfd *) NULL'
> zsh: abort sudo /usr/local/sbin/syslog-ng -d
hmm.. there's no poll.c in syslog-ng nor in libol, though there's a
poll() call with NULL fdarray argument.
diff -u -r1.40 io.c
--- io.c 19 Jan 2004 13:20:38 -0000 1.40
+++ io.c 28 Apr 2004 09:24:45 -0000
@@ -207,8 +207,12 @@
}
else {
gc_maybe(&b->super, 1);
- if (nfds == 0)
- res = poll(NULL, 0, timeout < 0 ? 60000 : timeout * 1000);
+ if (nfds == 0) {
+ struct pollfd dummy;
+
+ /* this hack is needed on MacOSX where the poll emulation does not handle the fdarray being NULL */
+ res = poll(&dummy, 0, timeout < 0 ? 60000 : timeout * 1000);
+ }
}
if (res < 0)
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1