diff options
Diffstat (limited to 'source4/smbd/process_standard.c')
-rw-r--r-- | source4/smbd/process_standard.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/source4/smbd/process_standard.c b/source4/smbd/process_standard.c index 505c2aafbf..8a71739d2a 100644 --- a/source4/smbd/process_standard.c +++ b/source4/smbd/process_standard.c @@ -134,23 +134,39 @@ static int get_id(struct request_context *req) return (int)req->smb->pid; } +static void standard_exit_server(struct server_context *smb, const char *reason) +{ + DEBUG(1,("standard_exit_server: reason[%s]\n",reason)); +} + /* - initialise the standard process model, registering ourselves with the model subsystem + initialise the standard process model, registering ourselves with the process model subsystem */ -void process_model_standard_init(void) +NTSTATUS process_model_standard_init(void) { + NTSTATUS ret; struct model_ops ops; ZERO_STRUCT(ops); - + + /* fill in our name */ + ops.name = "standard"; + /* fill in all the operations */ ops.model_startup = model_startup; ops.accept_connection = accept_connection; ops.accept_rpc_connection = accept_rpc_connection; ops.terminate_connection = terminate_connection; ops.terminate_rpc_connection = terminate_rpc_connection; + ops.exit_server = standard_exit_server; ops.get_id = get_id; - /* register ourselves with the process model subsystem. We register under the name 'standard'. */ - register_process_model("standard", &ops); + /* register ourselves with the PROCESS_MODEL subsystem. */ + ret = register_backend("process_model", &ops); + if (!NT_STATUS_IS_OK(ret)) { + DEBUG(0,("Failed to register process_model 'standard'!\n")); + return ret; + } + + return ret; } |