summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2011-03-14 17:14:19 +0100
committerSimo Sorce <idra@samba.org>2011-03-23 17:19:22 +0100
commitde775244a97b011fa34e52987a76ff81a5d36fb0 (patch)
tree7aa908f119ca8fa2d7614946e5283128669fe78a /source3
parent661ac49794a0594003463e1cf3ae1bf806f24213 (diff)
downloadsamba-de775244a97b011fa34e52987a76ff81a5d36fb0.tar.gz
samba-de775244a97b011fa34e52987a76ff81a5d36fb0.tar.bz2
samba-de775244a97b011fa34e52987a76ff81a5d36fb0.zip
s3-epmapper: Shutdown the embedded epmapper cleanly.
Diffstat (limited to 'source3')
-rw-r--r--source3/rpc_server/rpc_ep_setup.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/rpc_server/rpc_ep_setup.c b/source3/rpc_server/rpc_ep_setup.c
index 3731915a60..19eba17ef5 100644
--- a/source3/rpc_server/rpc_ep_setup.c
+++ b/source3/rpc_server/rpc_ep_setup.c
@@ -45,6 +45,7 @@
#include "rpc_server/rpc_ep_setup.h"
#include "rpc_server/rpc_server.h"
+#include "rpc_server/epmapper/srv_epmapper.h"
struct dcesrv_ep_context {
struct tevent_context *ev_ctx;
@@ -285,6 +286,13 @@ static bool epmapper_init_cb(void *ptr)
return false;
}
+static bool epmapper_shutdown_cb(void *ptr)
+{
+ srv_epmapper_cleanup();
+
+ return true;
+}
+
static bool winreg_init_cb(void *ptr)
{
struct dcesrv_ep_context *ep_ctx =
@@ -1202,7 +1210,7 @@ bool dcesrv_ep_setup(struct tevent_context *ev_ctx,
"none");
if (StrCaseCmp(rpcsrv_type, "embedded") == 0) {
epmapper_cb.init = epmapper_init_cb;
- epmapper_cb.shutdown = NULL;
+ epmapper_cb.shutdown = epmapper_shutdown_cb;
epmapper_cb.private_data = ep_ctx;
if (!NT_STATUS_IS_OK(rpc_epmapper_init(&epmapper_cb))) {