diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-09-18 18:05:55 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-09-18 18:05:55 -0700 |
commit | e9a589feac531379e569bc39d803b16179002cfa (patch) | |
tree | 81fcaf840fa0ed4513e4d17d6e20f47434ca5ac5 /source4/winbind | |
parent | ade5d43c5ceb915dd2210a735a21fd9bed531dd3 (diff) | |
download | samba-e9a589feac531379e569bc39d803b16179002cfa.tar.gz samba-e9a589feac531379e569bc39d803b16179002cfa.tar.bz2 samba-e9a589feac531379e569bc39d803b16179002cfa.zip |
s4-server: kill main daemon if a task fails to initialise
When one of our core tasks fails to initialise it can now ask for the
server as a whole to die, rather than limping along in a degraded
state.
Diffstat (limited to 'source4/winbind')
-rw-r--r-- | source4/winbind/wb_server.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source4/winbind/wb_server.c b/source4/winbind/wb_server.c index 95be49d1e3..d3142ff52a 100644 --- a/source4/winbind/wb_server.c +++ b/source4/winbind/wb_server.c @@ -125,21 +125,21 @@ static void winbind_task_init(struct task_server *task) model_ops = process_model_startup(task->event_ctx, "single"); if (!model_ops) { task_server_terminate(task, - "Can't find 'single' process model_ops"); + "Can't find 'single' process model_ops", true); return; } /* Make sure the directory for the Samba3 socket exists, and is of the correct permissions */ if (!directory_create_or_exist(lp_winbindd_socket_directory(task->lp_ctx), geteuid(), 0755)) { task_server_terminate(task, - "Cannot create winbindd pipe directory"); + "Cannot create winbindd pipe directory", true); return; } /* Make sure the directory for the Samba3 socket exists, and is of the correct permissions */ if (!directory_create_or_exist(lp_winbindd_privileged_socket_directory(task->lp_ctx), geteuid(), 0750)) { task_server_terminate(task, - "Cannot create winbindd privileged pipe directory"); + "Cannot create winbindd privileged pipe directory", true); return; } @@ -149,13 +149,13 @@ static void winbind_task_init(struct task_server *task) status = wbsrv_setup_domains(service); if (!NT_STATUS_IS_OK(status)) { - task_server_terminate(task, nt_errstr(status)); + task_server_terminate(task, nt_errstr(status), true); return; } service->idmap_ctx = idmap_init(service, task->event_ctx, task->lp_ctx); if (service->idmap_ctx == NULL) { - task_server_terminate(task, "Failed to load idmap database"); + task_server_terminate(task, "Failed to load idmap database", true); return; } @@ -202,15 +202,15 @@ static void winbind_task_init(struct task_server *task) listen_failed: DEBUG(0,("stream_setup_socket(path=%s) failed - %s\n", listen_socket->socket_path, nt_errstr(status))); - task_server_terminate(task, nt_errstr(status)); + task_server_terminate(task, nt_errstr(status), true); return; irpc_failed: DEBUG(0,("wbsrv_init_irpc() failed - %s\n", nt_errstr(status))); - task_server_terminate(task, nt_errstr(status)); + task_server_terminate(task, nt_errstr(status), true); return; nomem: - task_server_terminate(task, nt_errstr(NT_STATUS_NO_MEMORY)); + task_server_terminate(task, nt_errstr(NT_STATUS_NO_MEMORY), true); return; } |