diff options
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/printing/printing.c | 3 | ||||
-rw-r--r-- | source3/smbd/process.c | 10 | ||||
-rw-r--r-- | source3/smbd/server.c | 6 |
4 files changed, 12 insertions, 10 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 83bc6525aa..8c432d26fa 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -5545,7 +5545,8 @@ struct security_descriptor *get_nt_acl_no_snum( TALLOC_CTX *ctx, const char *fna /* The following definitions come from smbd/process.c */ void smbd_setup_sig_term_handler(void); -void smbd_setup_sig_hup_handler(void); +void smbd_setup_sig_hup_handler(struct tevent_context *ev, + struct messaging_context *msg_ctx); bool srv_send_smb(int fd, char *buffer, bool no_signing, uint32_t seqnum, bool do_encrypt, diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 9d98d5dff1..28ea4f04fe 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -1534,7 +1534,8 @@ void start_background_queue(void) } 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 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. */ |