summaryrefslogtreecommitdiff
path: root/source4/rpc_server/handles.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/rpc_server/handles.c')
-rw-r--r--source4/rpc_server/handles.c4
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);
}