core: split system/user job timeouts and make them configurable
Config options are -Ddefault-timeout-sec= and -Ddefault-user-timeout-sec=. Existing -Dupdate-helper-user-timeout= is renamed to -Dupdate-helper-user-timeout-sec= for consistency. All three options take an integer value in seconds. The renaming and type-change of the option is a small compat break, but it's just at compile time and result in a clear error message. I also doubt that anyone was actually using the option. This commit separates the user manager timeouts, but keeps them unchanged at 90 s. The timeout for the user manager is set to 4/3*user-timeout, which means that it is still 120 s. Fedora wants to experiment with lower timeouts, but doing this via a patch would be annoying and more work than necessary. Let's make this easy to configure.
This commit is contained in:
committed by
Luca Boccassi
parent
15796f28ea
commit
e4c7b5f517
+4
-4
@@ -2436,11 +2436,11 @@ static void reset_arguments(void) {
|
||||
arg_default_std_output = EXEC_OUTPUT_JOURNAL;
|
||||
arg_default_std_error = EXEC_OUTPUT_INHERIT;
|
||||
arg_default_restart_usec = DEFAULT_RESTART_USEC;
|
||||
arg_default_timeout_start_usec = DEFAULT_TIMEOUT_USEC;
|
||||
arg_default_timeout_stop_usec = DEFAULT_TIMEOUT_USEC;
|
||||
arg_default_timeout_abort_usec = DEFAULT_TIMEOUT_USEC;
|
||||
arg_default_timeout_start_usec = manager_default_timeout(arg_system);
|
||||
arg_default_timeout_stop_usec = manager_default_timeout(arg_system);
|
||||
arg_default_timeout_abort_usec = manager_default_timeout(arg_system);
|
||||
arg_default_timeout_abort_set = false;
|
||||
arg_default_device_timeout_usec = DEFAULT_TIMEOUT_USEC;
|
||||
arg_default_device_timeout_usec = manager_default_timeout(arg_system);
|
||||
arg_default_start_limit_interval = DEFAULT_START_LIMIT_INTERVAL;
|
||||
arg_default_start_limit_burst = DEFAULT_START_LIMIT_BURST;
|
||||
arg_runtime_watchdog = 0;
|
||||
|
||||
+3
-3
@@ -835,10 +835,10 @@ int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager *
|
||||
.default_memory_accounting = MEMORY_ACCOUNTING_DEFAULT,
|
||||
.default_tasks_accounting = true,
|
||||
.default_tasks_max = TASKS_MAX_UNSET,
|
||||
.default_timeout_start_usec = DEFAULT_TIMEOUT_USEC,
|
||||
.default_timeout_stop_usec = DEFAULT_TIMEOUT_USEC,
|
||||
.default_timeout_start_usec = manager_default_timeout(scope == LOOKUP_SCOPE_SYSTEM),
|
||||
.default_timeout_stop_usec = manager_default_timeout(scope == LOOKUP_SCOPE_SYSTEM),
|
||||
.default_restart_usec = DEFAULT_RESTART_USEC,
|
||||
.default_device_timeout_usec = DEFAULT_TIMEOUT_USEC,
|
||||
.default_device_timeout_usec = manager_default_timeout(scope == LOOKUP_SCOPE_SYSTEM),
|
||||
|
||||
.original_log_level = -1,
|
||||
.original_log_target = _LOG_TARGET_INVALID,
|
||||
|
||||
@@ -485,6 +485,10 @@ static inline usec_t manager_default_timeout_abort_usec(Manager *m) {
|
||||
|
||||
#define MANAGER_IS_TEST_RUN(m) ((m)->test_run_flags != 0)
|
||||
|
||||
static inline usec_t manager_default_timeout(bool is_system) {
|
||||
return is_system ? DEFAULT_TIMEOUT_USEC : DEFAULT_USER_TIMEOUT_USEC;
|
||||
}
|
||||
|
||||
int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager **m);
|
||||
Manager* manager_free(Manager *m);
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
|
||||
|
||||
@@ -43,10 +43,10 @@
|
||||
#DefaultTimerAccuracySec=1min
|
||||
#DefaultStandardOutput=journal
|
||||
#DefaultStandardError=inherit
|
||||
#DefaultTimeoutStartSec=90s
|
||||
#DefaultTimeoutStopSec=90s
|
||||
#DefaultTimeoutStartSec={{DEFAULT_TIMEOUT_SEC}}s
|
||||
#DefaultTimeoutStopSec={{DEFAULT_TIMEOUT_SEC}}s
|
||||
#DefaultTimeoutAbortSec=
|
||||
#DefaultDeviceTimeoutSec=90s
|
||||
#DefaultDeviceTimeoutSec={{DEFAULT_TIMEOUT_SEC}}s
|
||||
#DefaultRestartSec=100ms
|
||||
#DefaultStartLimitIntervalSec=10s
|
||||
#DefaultStartLimitBurst=5
|
||||
|
||||
@@ -24,9 +24,10 @@
|
||||
#DefaultTimerAccuracySec=1min
|
||||
#DefaultStandardOutput=inherit
|
||||
#DefaultStandardError=inherit
|
||||
#DefaultTimeoutStartSec=90s
|
||||
#DefaultTimeoutStopSec=90s
|
||||
#DefaultTimeoutStartSec={{DEFAULT_USER_TIMEOUT_SEC}}s
|
||||
#DefaultTimeoutStopSec={{DEFAULT_USER_TIMEOUT_SEC}}s
|
||||
#DefaultTimeoutAbortSec=
|
||||
#DefaultDeviceTimeoutSec={{DEFAULT_USER_TIMEOUT_SEC}}s
|
||||
#DefaultRestartSec=100ms
|
||||
#DefaultStartLimitIntervalSec=10s
|
||||
#DefaultStartLimitBurst=5
|
||||
|
||||
Reference in New Issue
Block a user