diff options
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r-- | source3/smbd/server.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 184b613810d..a7297d68630 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -50,7 +50,12 @@ int get_client_fd(void) struct event_context *smbd_event_context(void) { if (!smbd_event_ctx) { - smbd_event_ctx = event_context_init(talloc_autofree_context()); + /* + * Note we MUST use the NULL context here, not the + * autofree context, to avoid side effects in forked + * children exiting. + */ + smbd_event_ctx = event_context_init(NULL); } if (!smbd_event_ctx) { smb_panic("Could not init smbd event context"); |