On Fri, Aug 08, 2014 at 11:45:53AM +0200, Marc Haber wrote:
> I still can reproduce the behavior on a wheezy system. Here is the
> output of sv stat:
> 
> sudo sv stat /var/lib/cereal/sessions/sw01
> down: /var/lib/cereal/sessions/sw01: 82s; run: log: (pid 25393) 76s

Hi Marc,

when runsv is told to exit either through "sv exit", or when receiving
TERM, which also happens when the service directory symlink is removed
from /etc/service/ (e.g. through update-service --remove), then

from runsv(8):
If  the  service  is  running,  send it a TERM signal, and then a CONT
signal.  Do not restart the service.  If the service is down, and no log
service exists, runsv exits.  If  the service  is down and a log service
exists, runsv closes the standard input of the log service, and waits
for it to terminate.  If the log service is down,  runsv  exits.

In your case the log service is still running, and so runsv is still
waiting for it.  The best solution is to make your log service detect
that stdin is closed and exit as there's no more data to log.

Does this fix your problem?

Regards, Gerrit.

PS: before runit 2.1.2 the sv(8) man page was wrong, stating that a TERM
signal is sent to the log service, but actually only stdin is closed so
that the log service has the chance to process everything that shall be
logged.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to