diff options
-rw-r--r-- | source3/smbd/process.c | 8 | ||||
-rw-r--r-- | source3/smbd/proto.h | 2 | ||||
-rw-r--r-- | source3/smbd/server.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index dffb855f0b..a2cccaad43 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -878,15 +878,15 @@ static void smbd_sig_term_handler(struct tevent_context *ev, exit_server_cleanly("termination signal"); } -void smbd_setup_sig_term_handler(void) +void smbd_setup_sig_term_handler(struct smbd_server_connection *sconn) { struct tevent_signal *se; - se = tevent_add_signal(server_event_context(), - server_event_context(), + se = tevent_add_signal(sconn->ev_ctx, + sconn, SIGTERM, 0, smbd_sig_term_handler, - NULL); + sconn); if (!se) { exit_server("failed to setup SIGTERM handler"); } diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h index d7a7c4e4b5..bf759f5304 100644 --- a/source3/smbd/proto.h +++ b/source3/smbd/proto.h @@ -755,7 +755,7 @@ NTSTATUS make_default_filesystem_acl(TALLOC_CTX *ctx, /* The following definitions come from smbd/process.c */ -void smbd_setup_sig_term_handler(void); +void smbd_setup_sig_term_handler(struct smbd_server_connection *sconn); void smbd_setup_sig_hup_handler(struct tevent_context *ev, struct messaging_context *msg_ctx); bool srv_send_smb(struct smbd_server_connection *sconn, char *buffer, diff --git a/source3/smbd/server.c b/source3/smbd/server.c index bef1a13859..f7edc9996e 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -460,7 +460,7 @@ static void smbd_accept_connection(struct tevent_context *ev, smb_panic("reinit_after_fork() failed"); } - smbd_setup_sig_term_handler(); + smbd_setup_sig_term_handler(sconn); smbd_setup_sig_hup_handler(ev, msg_ctx); |