[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-2427-g6dd44eb

Jim McDonough jmcd at samba.org
Tue May 13 22:43:03 GMT 2008


The branch, v3-3-test has been updated
       via  6dd44ebf22762e852b43e7dbcd095a58cc45abad (commit)
       via  0f7b11accec7df1c0e9a9dc0828a5e0c5ddec4cb (commit)
      from  08d168f0e5b8fb07e95a5118a839e0da53e9d363 (commit)

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


- Log -----------------------------------------------------------------
commit 6dd44ebf22762e852b43e7dbcd095a58cc45abad
Merge: 0f7b11accec7df1c0e9a9dc0828a5e0c5ddec4cb 08d168f0e5b8fb07e95a5118a839e0da53e9d363
Author: Jim McDonough <jmcd at samba.org>
Date:   Tue May 13 18:42:18 2008 -0400

    Merge branch 'v3-3-test' of git://git.samba.org/samba into 3.3-test

commit 0f7b11accec7df1c0e9a9dc0828a5e0c5ddec4cb
Author: Jim McDonough <jmcd at samba.org>
Date:   Tue May 13 16:57:01 2008 -0400

    Enable winbind child processes to do something with signals,
    in particular closing and reopening logs on SIGHUP.
    
    Conflicts:
    
    	source/winbindd/winbindd.c

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

Summary of changes:
 source/winbindd/winbindd.c      |   35 +++++++++++++++++++++++------------
 source/winbindd/winbindd_dual.c |    4 ++++
 2 files changed, 27 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/winbindd/winbindd.c b/source/winbindd/winbindd.c
index 1072f8e..57eee20 100644
--- a/source/winbindd/winbindd.c
+++ b/source/winbindd/winbindd.c
@@ -795,6 +795,27 @@ 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"));
+
+		flush_caches();
+		reload_services_file();
+
+		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
@@ -954,18 +975,8 @@ static void process_loop(void)
 
 	/* Check signal handling things */
 
-	if (do_sigterm)
-		terminate();
-
-	if (do_sighup) {
-
-		DEBUG(3, ("got SIGHUP\n"));
-
-		flush_caches();
-		reload_services_file();
-
-		do_sighup = False;
-	}
+	winbind_check_sigterm();
+	winbind_check_sighup();
 
 	if (do_sigusr2) {
 		print_winbindd_status();
diff --git a/source/winbindd/winbindd_dual.c b/source/winbindd/winbindd_dual.c
index f71eec5..1d741be 100644
--- a/source/winbindd/winbindd_dual.c
+++ b/source/winbindd/winbindd_dual.c
@@ -1105,6 +1105,10 @@ static bool fork_domain_child(struct winbindd_child *child)
 		struct timeval now;
 		TALLOC_CTX *frame = talloc_stackframe();
 
+		/* 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