1
0
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:
Lennart Poettering 2016-10-21 12:27:46 +02:00
parent d9b8ea5448
commit 47fffb3530

View File

@ -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;
}