summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/process.c10
-rw-r--r--source3/smbd/server.c6
2 files changed, 8 insertions, 8 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 9e7b73d2d1..a512224585 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -917,15 +917,13 @@ static void smbd_sig_hup_handler(struct tevent_context *ev,
reload_services(msg_ctx, False);
}
-void smbd_setup_sig_hup_handler(void)
+void smbd_setup_sig_hup_handler(struct tevent_context *ev,
+ struct messaging_context *msg_ctx)
{
struct tevent_signal *se;
- se = tevent_add_signal(smbd_event_context(),
- smbd_event_context(),
- SIGHUP, 0,
- smbd_sig_hup_handler,
- smbd_messaging_context());
+ se = tevent_add_signal(ev, ev, SIGHUP, 0, smbd_sig_hup_handler,
+ msg_ctx);
if (!se) {
exit_server("failed to setup SIGHUP handler");
}
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index d6877444fd..9a003a01b7 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -425,7 +425,8 @@ static void smbd_accept_connection(struct tevent_context *ev,
}
smbd_setup_sig_term_handler();
- smbd_setup_sig_hup_handler();
+ smbd_setup_sig_hup_handler(server_event_context(),
+ server_messaging_context());
if (!serverid_register(procid_self(),
FLAG_MSG_GENERAL|FLAG_MSG_SMBD
@@ -1020,7 +1021,8 @@ extern void build_options(bool screen);
smbd_server_conn->msg_ctx = smbd_messaging_context();
smbd_setup_sig_term_handler();
- smbd_setup_sig_hup_handler();
+ smbd_setup_sig_hup_handler(smbd_event_context(),
+ smbd_server_conn->msg_ctx);
/* Setup all the TDB's - including CLEAR_IF_FIRST tdb's. */