summaryrefslogtreecommitdiffstats
path: root/source3/smbd/server_exit.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2010-12-20 11:42:17 +0100
committerAndreas Schneider <asn@samba.org>2011-01-04 11:23:21 +0100
commitd4f5bf0c36e3d5a0a13d1a03e7c6fac956dbf954 (patch)
treeb86f003338bd3657f3589348ec54cc3676dad584 /source3/smbd/server_exit.c
parent8ece780d1b90125514a1afb3e145a413cc342b98 (diff)
downloadsamba-d4f5bf0c36e3d5a0a13d1a03e7c6fac956dbf954.tar.gz
samba-d4f5bf0c36e3d5a0a13d1a03e7c6fac956dbf954.tar.xz
samba-d4f5bf0c36e3d5a0a13d1a03e7c6fac956dbf954.zip
s3-smbd: Call the rpc service shutdown functions.
Diffstat (limited to 'source3/smbd/server_exit.c')
-rw-r--r--source3/smbd/server_exit.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/source3/smbd/server_exit.c b/source3/smbd/server_exit.c
index 57fec8d96c..65151a108c 100644
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -26,6 +26,21 @@
#include "smbd/globals.h"
#include "librpc/gen_ndr/messaging.h"
+#include "../librpc/gen_ndr/srv_dfs.h"
+#include "../librpc/gen_ndr/srv_dssetup.h"
+#include "../librpc/gen_ndr/srv_echo.h"
+#include "../librpc/gen_ndr/srv_eventlog.h"
+#include "../librpc/gen_ndr/srv_initshutdown.h"
+#include "../librpc/gen_ndr/srv_lsa.h"
+#include "../librpc/gen_ndr/srv_netlogon.h"
+#include "../librpc/gen_ndr/srv_ntsvcs.h"
+#include "../librpc/gen_ndr/srv_samr.h"
+#include "../librpc/gen_ndr/srv_spoolss.h"
+#include "../librpc/gen_ndr/srv_srvsvc.h"
+#include "../librpc/gen_ndr/srv_svcctl.h"
+#include "../librpc/gen_ndr/srv_winreg.h"
+#include "../librpc/gen_ndr/srv_wkssvc.h"
+
static struct files_struct *log_writeable_file_fn(
struct files_struct *fsp, void *private_data)
{
@@ -113,6 +128,25 @@ static void exit_server_common(enum server_exit_reason how,
}
#endif
+ if (am_parent) {
+ rpc_wkssvc_shutdown();
+ rpc_dssetup_shutdown();
+ rpc_rpcecho_shutdown();
+ rpc_netdfs_shutdown();
+ rpc_initshutdown_shutdown();
+ rpc_eventlog_shutdown();
+ rpc_ntsvcs_shutdown();
+ rpc_svcctl_shutdown();
+ rpc_spoolss_shutdown();
+
+ rpc_srvsvc_shutdown();
+ rpc_winreg_shutdown();
+
+ rpc_netlogon_shutdown();
+ rpc_samr_shutdown();
+ rpc_lsarpc_shutdown();
+ }
+
locking_end();
printing_end();