summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@suse.de>2011-02-16 17:23:25 +0100
committerKarolin Seeger <kseeger@samba.org>2011-08-18 21:15:15 +0200
commit38ccc2d665bb3f80fcb46a21b7646f3e0a09b7c9 (patch)
treedfa57273db0ec8eba839c28ce0325e0b5c799a6a
parent39ec5c1a7c4074586b47a3abafaa331dfaab93df (diff)
downloadsamba-38ccc2d665bb3f80fcb46a21b7646f3e0a09b7c9.tar.gz
s3: increase the log level for missing PIDs on SIGCHLD
Since the fix for bso#7836, the parent smbd is responsible for maintaining an up-to-date printcap cache. It does this by forking a child process to asynchronously fetch printcap data from CUPS. When the child process exits after fetching all printcap data, the parent smbd is sent SIGCHLD. This triggers smbd_sig_chld_handler() which looks for the exited process PID on a "children" list. Child smbd process PIDs are added to the "children" list to ensure cleanup on unclean shutdown and log level change notification messages. Printcap update process PIDs are not added to the list as they do not maintain any state that requires cleanup, nor do they wait on tevent for messages. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Thu Feb 17 11:11:45 CET 2011 on sn-devel-104 (cherry picked from commit 9c12232f1ae36e00d04114ad73edd8ba3c2c6a5c) Fix bug #8269 (smbd spams log with "Could not find child X -- ignoring" messages). (cherry picked from commit ba118ac287d49267dd2f346d4ddd2e590ebbe653) (cherry picked from commit c943af7ff13c64343e5246b27a7416627bffd365)
-rw-r--r--source3/smbd/server.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 9c2709caf6b..dbcf5fdb513 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -235,7 +235,8 @@ static void remove_child_pid(pid_t pid, bool unclean_shutdown)
}
}
- DEBUG(0, ("Could not find child %d -- ignoring\n", (int)pid));
+ /* not all forked child processes are added to the children list */
+ DEBUG(1, ("Could not find child %d -- ignoring\n", (int)pid));
}
/****************************************************************************