diff options
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r-- | source3/smbd/service.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c index d28a51a9a7..867776571b 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -698,11 +698,15 @@ static NTSTATUS make_connection_snum(struct smbd_server_connection *sconn, on_err_call_dis_hook = true; if ((!conn->printer) && (!conn->ipc) && - lp_change_notify(conn->params) && - sconn->notify_ctx == NULL) { - sconn->notify_ctx = notify_init(sconn, - sconn->msg_ctx, - sconn->ev_ctx); + lp_change_notify(conn->params)) { + if (sconn->notify_ctx == NULL) { + sconn->notify_ctx = notify_init( + sconn, sconn->msg_ctx, sconn->ev_ctx); + } + if (sconn->sys_notify_ctx == NULL) { + sconn->sys_notify_ctx = sys_notify_context_create( + sconn, sconn->ev_ctx); + } } /* |