On Mon, 04.11.13 17:03, Oleksii Shevchuk (alx...@gmail.com) wrote: > https://bugs.freedesktop.org/show_bug.cgi?id=71132 > > Patch adds DefaultTimeoutStartSec, DefaultTimeoutStopSec, DefaultRestartSec > configuration options to manager configuration file.
Looks good but please update man page too! > --- > src/core/device.c | 2 +- > src/core/main.c | 9 +++++++++ > src/core/manager.h | 3 +++ > src/core/mount.c | 2 +- > src/core/scope.c | 2 +- > src/core/service.c | 6 +++--- > src/core/socket.c | 2 +- > src/core/swap.c | 2 +- > src/core/system.conf | 3 +++ > src/core/user.conf | 3 +++ > 10 files changed, 26 insertions(+), 8 deletions(-) > > diff --git a/src/core/device.c b/src/core/device.c > index 0595015..6fc4c95 100644 > --- a/src/core/device.c > +++ b/src/core/device.c > @@ -70,7 +70,7 @@ static void device_init(Unit *u) { > * indefinitely for plugged in devices, something which cannot > * happen for the other units since their operations time out > * anyway. */ > - UNIT(d)->job_timeout = DEFAULT_TIMEOUT_USEC; > + UNIT(d)->job_timeout = u->manager->default_timeout_start_usec; > > UNIT(d)->ignore_on_isolate = true; > UNIT(d)->ignore_on_snapshot = true; > diff --git a/src/core/main.c b/src/core/main.c > index 5d30893..b21fb49 100644 > --- a/src/core/main.c > +++ b/src/core/main.c > @@ -90,6 +90,9 @@ static bool arg_switched_root = false; > static char ***arg_join_controllers = NULL; > static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; > static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT; > +static usec_t arg_default_restart_usec = DEFAULT_RESTART_USEC; > +static usec_t arg_default_timeout_start_usec = DEFAULT_TIMEOUT_USEC; > +static usec_t arg_default_timeout_stop_usec = DEFAULT_TIMEOUT_USEC; > static usec_t arg_runtime_watchdog = 0; > static usec_t arg_shutdown_watchdog = 10 * USEC_PER_MINUTE; > static char **arg_default_environment = NULL; > @@ -636,6 +639,9 @@ static int parse_config_file(void) { > { "Manager", "CPUAffinity", > config_parse_cpu_affinity2, 0, NULL }, > { "Manager", "DefaultStandardOutput", config_parse_output, > 0, &arg_default_std_output }, > { "Manager", "DefaultStandardError", config_parse_output, > 0, &arg_default_std_error }, > + { "Manager", "DefaultTimeoutStartSec", config_parse_sec, > 0, &arg_default_timeout_start_usec }, > + { "Manager", "DefaultTimeoutStopSec", config_parse_sec, > 0, &arg_default_timeout_stop_usec }, > + { "Manager", "DefaultRestartSec", config_parse_sec, > 0, &arg_default_restart_usec }, > { "Manager", "JoinControllers", > config_parse_join_controllers, 0, &arg_join_controllers }, > { "Manager", "RuntimeWatchdogSec", config_parse_sec, > 0, &arg_runtime_watchdog }, > { "Manager", "ShutdownWatchdogSec", config_parse_sec, > 0, &arg_shutdown_watchdog }, > @@ -1518,6 +1524,9 @@ int main(int argc, char *argv[]) { > m->confirm_spawn = arg_confirm_spawn; > m->default_std_output = arg_default_std_output; > m->default_std_error = arg_default_std_error; > + m->default_restart_usec = arg_default_restart_usec; > + m->default_timeout_start_usec = arg_default_timeout_start_usec; > + m->default_timeout_stop_usec = arg_default_timeout_stop_usec; > m->runtime_watchdog = arg_runtime_watchdog; > m->shutdown_watchdog = arg_shutdown_watchdog; > m->userspace_timestamp = userspace_timestamp; > diff --git a/src/core/manager.h b/src/core/manager.h > index ffcca48..c704d0e 100644 > --- a/src/core/manager.h > +++ b/src/core/manager.h > @@ -230,6 +230,9 @@ struct Manager { > > ExecOutput default_std_output, default_std_error; > > + usec_t default_restart_usec, default_timeout_start_usec, > + default_timeout_stop_usec; > + > struct rlimit *rlimit[RLIMIT_NLIMITS]; > > /* non-zero if we are reloading or reexecuting, */ > diff --git a/src/core/mount.c b/src/core/mount.c > index 88563b3..0c15b99 100644 > --- a/src/core/mount.c > +++ b/src/core/mount.c > @@ -131,7 +131,7 @@ static void mount_init(Unit *u) { > assert(u); > assert(u->load_state == UNIT_STUB); > > - m->timeout_usec = DEFAULT_TIMEOUT_USEC; > + m->timeout_usec = u->manager->default_timeout_start_usec; > m->directory_mode = 0755; > > exec_context_init(&m->exec_context); > diff --git a/src/core/scope.c b/src/core/scope.c > index 50e5dba..5d249ec 100644 > --- a/src/core/scope.c > +++ b/src/core/scope.c > @@ -46,7 +46,7 @@ static void scope_init(Unit *u) { > assert(u); > assert(u->load_state == UNIT_STUB); > > - s->timeout_stop_usec = DEFAULT_TIMEOUT_USEC; > + s->timeout_stop_usec = u->manager->default_timeout_start_usec; > > watch_init(&s->timer_watch); > > diff --git a/src/core/service.c b/src/core/service.c > index ce75757..d11de79 100644 > --- a/src/core/service.c > +++ b/src/core/service.c > @@ -124,9 +124,9 @@ static void service_init(Unit *u) { > assert(u); > assert(u->load_state == UNIT_STUB); > > - s->timeout_start_usec = DEFAULT_TIMEOUT_USEC; > - s->timeout_stop_usec = DEFAULT_TIMEOUT_USEC; > - s->restart_usec = DEFAULT_RESTART_USEC; > + s->timeout_start_usec = u->manager->default_timeout_start_usec; > + s->timeout_stop_usec = u->manager->default_timeout_stop_usec; > + s->restart_usec = u->manager->default_restart_usec; > s->type = _SERVICE_TYPE_INVALID; > > watch_init(&s->watchdog_watch); > diff --git a/src/core/socket.c b/src/core/socket.c > index 0c03e83..887ea00 100644 > --- a/src/core/socket.c > +++ b/src/core/socket.c > @@ -74,7 +74,7 @@ static void socket_init(Unit *u) { > assert(u->load_state == UNIT_STUB); > > s->backlog = SOMAXCONN; > - s->timeout_usec = DEFAULT_TIMEOUT_USEC; > + s->timeout_usec = u->manager->default_timeout_start_usec; > s->directory_mode = 0755; > s->socket_mode = 0666; > > diff --git a/src/core/swap.c b/src/core/swap.c > index 8e494e9..c48c0bd 100644 > --- a/src/core/swap.c > +++ b/src/core/swap.c > @@ -86,7 +86,7 @@ static void swap_init(Unit *u) { > assert(s); > assert(UNIT(s)->load_state == UNIT_STUB); > > - s->timeout_usec = DEFAULT_TIMEOUT_USEC; > + s->timeout_usec = u->manager->default_timeout_start_usec; > > exec_context_init(&s->exec_context); > s->exec_context.std_output = u->manager->default_std_output; > diff --git a/src/core/system.conf b/src/core/system.conf > index 7b03c87..3c6cc03 100644 > --- a/src/core/system.conf > +++ b/src/core/system.conf > @@ -24,6 +24,9 @@ > #ShutdownWatchdogSec=10min > #CapabilityBoundingSet= > #TimerSlackNSec= > +#DefaultTimeoutStartSec=90s > +#DefaultTimeoutStopSec=90s > +#DefaultRestartSec=100ms > #DefaultEnvironment= > #DefaultLimitCPU= > #DefaultLimitFSIZE= > diff --git a/src/core/user.conf b/src/core/user.conf > index 4a0129a..b030701 100644 > --- a/src/core/user.conf > +++ b/src/core/user.conf > @@ -14,3 +14,6 @@ > #LogLocation=no > #DefaultStandardOutput=inherit > #DefaultStandardError=inherit > +#DefaultTimeoutStartSec=90s > +#DefaultTimeoutStopSec=90s > +#DefaultRestartSec=100ms Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel