@@ -213,6 +213,10 @@
mDNSPosixListenForSignalInEventLoop(SIGINT);
mDNSPosixListenForSignalInEventLoop(SIGTERM);
mDNSPosixListenForSignalInEventLoop(SIGUSR1);
+#ifdef HAVE_SIGINFO
+ mDNSPosixListenForSignalInEventLoop(SIGUSR2);
+ mDNSPosixListenForSignalInEventLoop(SIGINFO);
+#endif
mDNSPosixListenForSignalInEventLoop(SIGPIPE);
mDNSPosixListenForSignalInEventLoop(SIGHUP) ;
@@ -239,7 +243,22 @@
(void) mDNSPosixRunEventLoopOnce(m, &timeout, &signals, &gotData);
if (sigismember(&signals, SIGHUP )) Reconfigure(m);
+#ifdef HAVE_SIGINFO
+ /* use OSX-compatible signals since we can, and gain enhanced debugging */
+ if (sigismember(&signals, SIGINFO)) DumpStateLog(m);
+ if (sigismember(&signals, SIGUSR1))
+ {
+ mDNS_LoggingEnabled = mDNS_LoggingEnabled ? 0 : 1;
+ LogMsg("SIGUSR1: Logging %s", mDNS_LoggingEnabled ? "Enabled" : "Disabled");
+ }
+ if (sigismember(&signals, SIGUSR2))
+ {
+ mDNS_PacketLoggingEnabled = mDNS_PacketLoggingEnabled ? 0 : 1;
+ LogMsg("SIGUSR2: Packet Logging %s", mDNS_PacketLoggingEnabled ? "Enabled" : "Disabled");
+ }
+#else
if (sigismember(&signals, SIGUSR1)) DumpStateLog(m);
+#endif
// SIGPIPE happens when we try to write to a dead client; death should be detected soon in request_callback() and cleaned up.
if (sigismember(&signals, SIGPIPE)) LogMsg("Received SIGPIPE - ignoring");
if (sigismember(&signals, SIGINT) || sigismember(&signals, SIGTERM)) break;
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3 2009/10/01 10:01:14 tron Exp $
+# $NetBSD: Makefile,v 1.4 2009/10/03 00:03:05 tsarna Exp $
PROG= mdnsd
@@ -6,7 +6,8 @@
.PATH: ${DIST}/mDNSPosix ${DIST}/mDNSCore ${DIST}/mDNSShared
-CPPFLAGS+=-I${DIST}/mDNSCore -I${DIST}/mDNSShared -DPROGRAM_NAME=\"mdnsd\"
+CPPFLAGS+=-I${DIST}/mDNSCore -I${DIST}/mDNSShared \
+ -DPROGRAM_NAME=\"mdnsd\" -DHAVE_SIGINFO
SRCS= PosixDaemon.c mDNSPosix.c mDNSUNP.c mDNS.c DNSDigest.c uDNS.c \
DNSCommon.c uds_daemon.c mDNSDebug.c dnssd_ipc.c GenLinkedList.c \
PlatformCommon.c