pflogd(8) currently spams the console on shutdown if syslogd wins the race to die, this logging probably comes from the fact that pflogd was largely based on syslogd.
Also, cleanup some missed SIGCHLD handling code that is no longer neccesary, parent will exit when child closes its side of the socketpair(2). -Bryan. Index: pflogd.c =================================================================== RCS file: /cvs/src/sbin/pflogd/pflogd.c,v retrieving revision 1.55 diff -u -p -u -r1.55 pflogd.c --- sbin/pflogd/pflogd.c 5 Sep 2017 15:41:25 -0000 1.55 +++ sbin/pflogd/pflogd.c 5 Sep 2017 20:06:57 -0000 @@ -686,7 +686,6 @@ main(int argc, char **argv) } } - logmsg(LOG_NOTICE, "Exiting"); if (dpcap) { flush_buffer(dpcap); fclose(dpcap); Index: privsep.c =================================================================== RCS file: /cvs/src/sbin/pflogd/privsep.c,v retrieving revision 1.28 diff -u -p -u -r1.28 privsep.c --- sbin/pflogd/privsep.c 5 Sep 2017 15:41:25 -0000 1.28 +++ sbin/pflogd/privsep.c 5 Sep 2017 20:06:57 -0000 @@ -49,10 +49,7 @@ enum cmd_types { static int priv_fd = -1; static volatile pid_t child_pid = -1; -volatile sig_atomic_t gotsig_chld = 0; - static void sig_pass_to_chld(int); -static void sig_chld(int); static int may_read(int, void *, size_t); static void must_read(int, void *, size_t); static void must_write(int, void *, size_t); @@ -150,7 +147,6 @@ priv_exec(int child, int argc, char *arg signal(SIGHUP, sig_pass_to_chld); signal(SIGINT, sig_pass_to_chld); signal(SIGQUIT, sig_pass_to_chld); - signal(SIGCHLD, sig_chld); setproctitle("[priv]"); @@ -160,7 +156,7 @@ BROKEN if (pledge("stdio rpath wpath cpa err(1, "pledge"); #endif - while (!gotsig_chld) { + while (1) { if (may_read(sock, &cmd, sizeof(int))) break; switch (cmd) { @@ -393,13 +389,6 @@ sig_pass_to_chld(int sig) if (child_pid != -1) kill(child_pid, sig); errno = oerrno; -} - -/* if parent gets a SIGCHLD, it will exit */ -static void -sig_chld(int sig) -{ - gotsig_chld = 1; } /* Read all data or return 1 for error. */