diff options
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r-- | source3/smbd/server.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 17762e34c8..cc0bf1f02a 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -40,6 +40,8 @@ extern void start_epmd(struct tevent_context *ev_ctx, struct messaging_context *msg_ctx); +extern void start_spoolssd(void); + #ifdef WITH_DFS extern int dcelogin_atmost_once; #endif /* WITH_DFS */ @@ -1242,6 +1244,19 @@ extern void build_options(bool screen); smbd_messaging_context()); } + if (is_daemon && !_lp_disable_spoolss()) { + const char *rpcsrv_type; + + /* start spoolss daemon */ + /* start as a separate daemon only if enabled */ + rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM, + "rpc_server", "spoolss", + "embedded"); + if (StrCaseCmp(rpcsrv_type, "embedded") != 0) { + start_spoolssd(); + } + } + if (!is_daemon) { /* inetd mode */ TALLOC_FREE(frame); |