diff options
Diffstat (limited to 'source4/rpc_server/handles.c')
-rw-r--r-- | source4/rpc_server/handles.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/rpc_server/handles.c b/source4/rpc_server/handles.c index 043318c075..df6abd65a5 100644 --- a/source4/rpc_server/handles.c +++ b/source4/rpc_server/handles.c @@ -42,6 +42,7 @@ struct dcesrv_handle *dcesrv_handle_new(struct dcesrv_connection *dce_conn, } h->mem_ctx = mem_ctx; h->data = NULL; + h->destroy = NULL; h->wire_handle.handle_type = handle_type; uuid_generate_random(&h->wire_handle.uuid); @@ -57,6 +58,9 @@ struct dcesrv_handle *dcesrv_handle_new(struct dcesrv_connection *dce_conn, void dcesrv_handle_destroy(struct dcesrv_connection *dce_conn, struct dcesrv_handle *h) { + if (h->destroy) { + h->destroy(dce_conn, h); + } DLIST_REMOVE(dce_conn->handles, h); talloc_destroy(h->mem_ctx); } |