The Samba-Bugzilla – Attachment 3322 Details for
Bug 5504
winbind children dying delete the winbindd socket.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for 3.0.x
look (text/plain), 1.74 KB, created by
Jeremy Allison
on 2008-05-30 19:19:22 UTC
(
hide
)
Description:
Patch for 3.0.x
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2008-05-30 19:19:22 UTC
Size:
1.74 KB
patch
obsolete
>diff --git a/source/nsswitch/winbindd.c b/source/nsswitch/winbindd.c >index 636d635..c79bb46 100644 >--- a/source/nsswitch/winbindd.c >+++ b/source/nsswitch/winbindd.c >@@ -117,14 +117,21 @@ static void flush_caches(void) > > /* Handle the signal by unlinking socket and exiting */ > >-static void terminate(void) >+static void terminate(bool in_parent) > { >- pstring path; >- >- /* Remove socket file */ >- pstr_sprintf(path, "%s/%s", >- WINBINDD_SOCKET_DIR, WINBINDD_SOCKET_NAME); >- unlink(path); >+ if (in_parent) { >+ /* When parent goes away we should >+ * remove the socket file. Not so >+ * when children terminate. >+ */ >+ >+ pstring path; >+ >+ /* Remove socket file */ >+ pstr_sprintf(path, "%s/%s", >+ WINBINDD_SOCKET_DIR, WINBINDD_SOCKET_NAME); >+ unlink(path); >+ } > > idmap_close(); > >@@ -731,10 +738,10 @@ void winbind_check_sighup(void) > } > > /* check if TERM has been received */ >-void winbind_check_sigterm(void) >+void winbind_check_sigterm(bool in_parent) > { > if (do_sigterm) >- terminate(); >+ terminate(in_parent); > } > > /* Process incoming clients on listen_sock. We use a tricky non-blocking, >@@ -901,7 +908,7 @@ static void process_loop(void) > > /* Check signal handling things */ > >- winbind_check_sigterm(); >+ winbind_check_sigterm(true); > winbind_check_sighup(); > > if (do_sigusr2) { >diff --git a/source/nsswitch/winbindd_dual.c b/source/nsswitch/winbindd_dual.c >index 7176a25..7b79734 100644 >--- a/source/nsswitch/winbindd_dual.c >+++ b/source/nsswitch/winbindd_dual.c >@@ -1005,7 +1005,7 @@ static BOOL fork_domain_child(struct winbindd_child *child) > main_loop_TALLOC_FREE(); > > /* check for signals */ >- winbind_check_sigterm(); >+ winbind_check_sigterm(false); > winbind_check_sighup(); > > run_events(winbind_event_context(), 0, NULL, NULL);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 5504
: 3322 |
3323