From: Lennart Poettering Date: Wed, 18 Jul 2012 00:42:43 +0000 (+0200) Subject: service: don't print a warning if we are in autorestart state, and can't start a... X-Git-Tag: v187~30 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d4943dc7559dff51d4d3bb737232b9328d6726e1;hp=47ec118473c864b6ae550fd7ee56d6f4982e5363 service: don't print a warning if we are in autorestart state, and can't start a unit just yet --- diff --git a/src/core/service.c b/src/core/service.c index cf480ab97..5dc06b36c 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -2476,11 +2476,12 @@ static int service_start(Unit *u) { /* A service that will be restarted must be stopped first to * trigger BindsTo and/or OnFailure dependencies. If a user * does not want to wait for the holdoff time to elapse, the - * service should be manually restarted, not started. */ - if (s->state == SERVICE_AUTO_RESTART) { - log_warning("%s automatic restart is pending, must be stopped before issuing start request.", UNIT(s)->id); + * service should be manually restarted, not started. We + * simply return EAGAIN here, so that any start jobs stay + * queued, and assume that the auto restart timer will + * eventually trigger the restart. */ + if (s->state == SERVICE_AUTO_RESTART) return -EAGAIN; - } assert(s->state == SERVICE_DEAD || s->state == SERVICE_FAILED);