samba-cvs.cvs
[Top] [All Lists]

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

Subject: [SCM] Samba Shared Repository - branch v3-0-test updated - release-3-0-28a-1163-g4a0345d
From: Jeremy Allison
Date: Wed, 14 May 2008 16:12:37 -0500 CDT
The branch, v3-0-test has been updated
       via  4a0345d3fab80d586fb043831709ce8fe68f72f0 (commit)
      from  9e4ea761055429185b7c76cf4c96ef5407fa7e83 (commit)

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


- Log -----------------------------------------------------------------
commit 4a0345d3fab80d586fb043831709ce8fe68f72f0
Author: Jeremy Allison <jra@xxxxxxxxx>
Date:   Wed May 14 14:12:14 2008 -0700

    Fix bug #5464. Pointed out by Herb @ Connectathon. In fork_domain_child() 
we call :
    
    CatchChild();
    
    *before* we fork the domain child. This call establishes a signal handler 
that
    eats SIGCLD signals and doesn't call sys_select_signal() as the main daemon
    SIGCLD handler should do. This causes the parent to ignore dead children and
    time out, instead of calling winbind_child_died() on receipt of the signal. 
The
    correct fix is to move the CatchChild call into the child code after the 
fork.
    
    Jeremy.

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

Summary of changes:
 source/nsswitch/winbindd_dual.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/nsswitch/winbindd_dual.c b/source/nsswitch/winbindd_dual.c
index 937924d..1d4d312 100644
--- a/source/nsswitch/winbindd_dual.c
+++ b/source/nsswitch/winbindd_dual.c
@@ -897,9 +897,6 @@ static BOOL fork_domain_child(struct winbindd_child *child)
        ZERO_STRUCT(state);
        state.pid = sys_getpid();
 
-       /* Stop zombies */
-       CatchChild();
-
        /* Ensure we don't process messages whilst we're
           changing the disposition for the child. */
        message_block();
@@ -928,6 +925,9 @@ static BOOL fork_domain_child(struct winbindd_child *child)
 
        /* Child */
 
+       /* Stop zombies in children */
+       CatchChild();
+
        state.sock = fdpair[0];
        close(fdpair[1]);
 


-- 
Samba Shared Repository

<Prev in Thread] Current Thread [Next in Thread>
  • [SCM] Samba Shared Repository - branch v3-0-test updated - release-3-0-28a-1163-g4a0345d, Jeremy Allison <=