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

Jeremy Allison jra at samba.org
Tue Jan 13 23:58:42 GMT 2009


The branch, v3-2-test has been updated
       via  e1af2b4bc824450615454adec460e6698a83cefc (commit)
      from  61c5589d1fa4d6fe7ce7293a6f6ceab96d4ee193 (commit)

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


- Log -----------------------------------------------------------------
commit e1af2b4bc824450615454adec460e6698a83cefc
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Jan 13 15:57:53 2009 -0800

    From boyang - ensure we never "return" from a forked child, always _exit().
    Jeremy.

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

Summary of changes:
 source/winbindd/winbindd_cm.c   |    6 +++---
 source/winbindd/winbindd_dual.c |    4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/winbindd/winbindd_cm.c b/source/winbindd/winbindd_cm.c
index 3996e48..4474b5f 100644
--- a/source/winbindd/winbindd_cm.c
+++ b/source/winbindd/winbindd_cm.c
@@ -203,7 +203,7 @@ static bool fork_child_dc_connect(struct winbindd_domain *domain)
 	if (!override_logfile) {
 		if (asprintf(&lfile, "%s/log.winbindd-dc-connect", get_dyn_LOGFILEBASE()) == -1) {
 			DEBUG(0, ("fork_child_dc_connect: out of memory!\n"));
-			return false;
+			_exit(1);
 		}
 	}
 
@@ -214,7 +214,7 @@ static bool fork_child_dc_connect(struct winbindd_domain *domain)
 				   MSG_WINBIND_FAILED_TO_GO_ONLINE,
 				   (uint8 *)domain->name,
 				   strlen(domain->name) + 1);
-		_exit(0);
+		_exit(1);
 	}
 
 	SAFE_FREE(lfile);
@@ -222,7 +222,7 @@ static bool fork_child_dc_connect(struct winbindd_domain *domain)
 	mem_ctx = talloc_init("fork_child_dc_connect");
 	if (!mem_ctx) {
 		DEBUG(0,("talloc_init failed.\n"));
-		_exit(0);
+		_exit(1);
 	}
 
 	if ((!get_dcs(mem_ctx, domain, &dcs, &num_dcs)) || (num_dcs == 0)) {
diff --git a/source/winbindd/winbindd_dual.c b/source/winbindd/winbindd_dual.c
index c0a62eb..9e2e18f 100644
--- a/source/winbindd/winbindd_dual.c
+++ b/source/winbindd/winbindd_dual.c
@@ -1277,7 +1277,7 @@ static bool fork_domain_child(struct winbindd_child *child)
 			DEBUG(0,("select error occured\n"));
 			TALLOC_FREE(frame);
 			perror("select");
-			return False;
+			_exit(1);
 		}
 
 		/* fetch a request from the main daemon */
@@ -1285,7 +1285,7 @@ static bool fork_domain_child(struct winbindd_child *child)
 
 		if (state.finished) {
 			/* we lost contact with our parent */
-			exit(0);
+			_exit(0);
 		}
 
 		DEBUG(4,("child daemon request %d\n", (int)state.request.cmd));


-- 
Samba Shared Repository


More information about the samba-cvs mailing list