diff options
-rw-r--r-- | source4/smbd/process.c | 17 | ||||
-rw-r--r-- | source4/smbd/server.c | 4 |
2 files changed, 15 insertions, 6 deletions
diff --git a/source4/smbd/process.c b/source4/smbd/process.c index 183f0655da..d06fbf9a44 100644 --- a/source4/smbd/process.c +++ b/source4/smbd/process.c @@ -70,6 +70,19 @@ void smbd_process_init(void) if (!init_change_notify()) exit(1); + /* Setup the PASSDB subsystem */ + if(!initialize_password_db(False)) + exit(1); + + talloc_destroy(mem_ctx); +} + +void init_subsystems(void) +{ + /* Setup the PROCESS_MODEL subsystem */ + if (!process_model_init()) + exit(1); + /* Setup the AUTH subsystem */ if (!auth_init()) exit(1); @@ -77,8 +90,6 @@ void smbd_process_init(void) /* Setup the PASSDB subsystem */ if (!passdb_init()) exit(1); - if(!initialize_password_db(False)) - exit(1); /* Setup the NTVFS subsystem */ if (!ntvfs_init()) @@ -88,6 +99,4 @@ void smbd_process_init(void) if (!dcesrv_init()) exit(1); - talloc_destroy(mem_ctx); } - diff --git a/source4/smbd/server.c b/source4/smbd/server.c index 90955ff6cb..f32d6a0702 100644 --- a/source4/smbd/server.c +++ b/source4/smbd/server.c @@ -196,8 +196,6 @@ static void setup_process_model(struct event_context *events, { const struct model_ops *ops; - process_model_init(); - ops = process_model_byname(model); if (!ops) { DEBUG(0,("Unknown process model '%s'\n", model)); @@ -343,6 +341,8 @@ static void setup_process_model(struct event_context *events, register_msg_pool_usage(); register_dmalloc_msgs(); + init_subsystems(); + setup_process_model(events, model); /* wait for events */ |