mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
core: if the start command vanishes during runtime don't hit an assert
This can happen when the configuration is changed and reloaded while we are executing a service. Let's not hit an assert in this case. Fixes: #4444
This commit is contained in:
parent
d9b8ea5448
commit
47fffb3530
@ -1756,7 +1756,15 @@ static void service_enter_start(Service *s) {
|
||||
}
|
||||
|
||||
if (!c) {
|
||||
assert(s->type == SERVICE_ONESHOT);
|
||||
if (s->type != SERVICE_ONESHOT) {
|
||||
/* There's no command line configured for the main command? Hmm, that is strange. This can only
|
||||
* happen if the configuration changes at runtime. In this case, let's enter a failure
|
||||
* state. */
|
||||
log_unit_error(UNIT(s), "There's no 'start' task anymore we could start: %m");
|
||||
r = -ENXIO;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
service_enter_start_post(s);
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user