mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
r7493: add a --maximum-runtime option to smbd. If this time is exceeeded then it exits.
This will be used in the build farm (This used to be commit 3cec5b3c8656efcb00df530071c2badca914126a)
This commit is contained in:
parent
39172de4dc
commit
ea7942d468
@ -137,6 +137,18 @@ static void server_stdin_handler(struct event_context *event_ctx, struct fd_even
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
die if the user selected maximum runtime is exceeded
|
||||
*/
|
||||
static void max_runtime_handler(struct event_context *ev, struct timed_event *te,
|
||||
struct timeval t, void *private)
|
||||
{
|
||||
DEBUG(0,("smbd maximum runtime exceeded - terminating\n"));
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
main server.
|
||||
*/
|
||||
@ -148,6 +160,7 @@ static int binary_smbd_main(int argc, const char *argv[])
|
||||
struct event_context *event_ctx;
|
||||
NTSTATUS status;
|
||||
const char *model = "standard";
|
||||
int max_runtime = 0;
|
||||
struct poptOption long_options[] = {
|
||||
POPT_AUTOHELP
|
||||
POPT_COMMON_SAMBA
|
||||
@ -155,6 +168,8 @@ static int binary_smbd_main(int argc, const char *argv[])
|
||||
"Run interactive (not a daemon)", NULL},
|
||||
{"model", 'M', POPT_ARG_STRING, &model, True,
|
||||
"Select process model", "MODEL"},
|
||||
{"maximum-runtime", 0, POPT_ARG_INT, &max_runtime, True,
|
||||
"set maximum time for smbd to live", "seconds"},
|
||||
POPT_COMMON_VERSION
|
||||
POPT_TABLEEND
|
||||
};
|
||||
@ -222,6 +237,13 @@ static int binary_smbd_main(int argc, const char *argv[])
|
||||
server_stdin_handler, NULL);
|
||||
}
|
||||
|
||||
|
||||
if (max_runtime) {
|
||||
event_add_timed(event_ctx, event_ctx,
|
||||
timeval_current_ofs(max_runtime, 0),
|
||||
max_runtime_handler, NULL);
|
||||
}
|
||||
|
||||
DEBUG(0,("Using %s process model\n", model));
|
||||
status = server_service_startup(event_ctx, model, lp_server_services());
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user