[SCM] Samba Shared Repository - branch v3-0-test updated - release-3-0-28a-1160-g8998e18

Jim McDonough jmcd at samba.org
Tue May 13 20:32:35 GMT 2008


The branch, v3-0-test has been updated
       via  8998e18a2f3c7a0095614e58992a2facb34a3bc3 (commit)
      from  660be616b85a32725841877041190a6ec0f122f1 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-0-test


- Log -----------------------------------------------------------------
commit 8998e18a2f3c7a0095614e58992a2facb34a3bc3
Author: Jim McDonough <jmcd at samba.org>
Date:   Tue May 13 16:29:53 2008 -0400

    Enable winbind child processes to do something with signals,
    in particular closing and reopening logs on SIGHUP.

-----------------------------------------------------------------------

Summary of changes:
 source/nsswitch/winbindd.c      |   31 +++++++++++++++++++++----------
 source/nsswitch/winbindd_dual.c |    4 ++++
 2 files changed, 25 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/nsswitch/winbindd.c b/source/nsswitch/winbindd.c
index 18abdab..636d635 100644
--- a/source/nsswitch/winbindd.c
+++ b/source/nsswitch/winbindd.c
@@ -718,6 +718,25 @@ static BOOL remove_idle_client(void)
 	return False;
 }
 
+/* check if HUP has been received and reload files */
+void winbind_check_sighup(void)
+{
+	if (do_sighup) {
+
+		DEBUG(3, ("got SIGHUP\n"));
+
+		msg_reload_services(MSG_SMB_CONF_UPDATED, pid_to_procid(0), NULL, 0, NULL);
+		do_sighup = False;
+	}
+}
+
+/* check if TERM has been received */
+void winbind_check_sigterm(void)
+{
+	if (do_sigterm)
+		terminate();
+}
+
 /* Process incoming clients on listen_sock.  We use a tricky non-blocking,
    non-forking, non-threaded model which allows us to handle many
    simultaneous connections while remaining impervious to many denial of
@@ -882,16 +901,8 @@ static void process_loop(void)
 
 	/* Check signal handling things */
 
-	if (do_sigterm)
-		terminate();
-
-	if (do_sighup) {
-
-		DEBUG(3, ("got SIGHUP\n"));
-
-		msg_reload_services(MSG_SMB_CONF_UPDATED, pid_to_procid(0), NULL, 0, NULL);
-		do_sighup = False;
-	}
+	winbind_check_sigterm();
+	winbind_check_sighup();
 
 	if (do_sigusr2) {
 		print_winbindd_status();
diff --git a/source/nsswitch/winbindd_dual.c b/source/nsswitch/winbindd_dual.c
index e058110..937924d 100644
--- a/source/nsswitch/winbindd_dual.c
+++ b/source/nsswitch/winbindd_dual.c
@@ -1014,6 +1014,10 @@ static BOOL fork_domain_child(struct winbindd_child *child)
 		lp_TALLOC_FREE();
 		main_loop_TALLOC_FREE();
 
+		/* check for signals */
+		winbind_check_sigterm();
+		winbind_check_sighup();
+
 		run_events(winbind_event_context(), 0, NULL, NULL);
 
 		GetTimeOfDay(&now);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list