diff options
Diffstat (limited to 'source4/smbd/service_task.c')
-rw-r--r-- | source4/smbd/service_task.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/source4/smbd/service_task.c b/source4/smbd/service_task.c index f9d15b8bc3..8edd49e259 100644 --- a/source4/smbd/service_task.c +++ b/source4/smbd/service_task.c @@ -23,7 +23,7 @@ #include "process_model.h" #include "lib/messaging/irpc.h" #include "param/param.h" -#include "librpc/gen_ndr/ndr_irpc.h" +#include "librpc/gen_ndr/ndr_irpc_c.h" /* terminate a task service @@ -35,15 +35,14 @@ void task_server_terminate(struct task_server *task, const char *reason, bool fa DEBUG(0,("task_server_terminate: [%s]\n", reason)); if (fatal) { + struct dcerpc_binding_handle *irpc_handle; struct samba_terminate r; - struct server_id *sid; - sid = irpc_servers_byname(task->msg_ctx, task, "samba"); + irpc_handle = irpc_binding_handle_by_name(task, task->msg_ctx, + "samba", &ndr_table_irpc); r.in.reason = reason; - IRPC_CALL(task->msg_ctx, sid[0], - irpc, SAMBA_TERMINATE, - &r, NULL); + dcerpc_samba_terminate_r(irpc_handle, task, &r); } model_ops->terminate(event_ctx, task->lp_ctx, reason); |