Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Feb 2012 12:56:58 -0800
From:      Jos Backus <jos@catnook.com>
To:        Andrey Zonov <andrey@zonov.org>
Cc:        src-committers@freebsd.org, Pawel Jakub Dawidek <pjd@freebsd.org>, Guy Helmer <ghelmer@palisadesystems.com>, svn-src-all@freebsd.org, Mikolaj Golub <trociny@freebsd.org>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r230869 - head/usr.sbin/daemon
Message-ID:  <CAETOPp0mYn0fVdBdzsDaH16SXzFHa_wLXE3vg--4cgXwVFg9pA@mail.gmail.com>
In-Reply-To: <4F38240B.5040507@zonov.org>
References:  <20120205214647.GI30033@garage.freebsd.pl> <86sjiov29o.fsf@in138.ua3> <20120206082706.GA1324@garage.freebsd.pl> <86wr7zmy8f.fsf@kopusha.home.net> <20120206221742.GA1336@garage.freebsd.pl> <86liodu3me.fsf@in138.ua3> <20120208090600.GA1308@garage.freebsd.pl> <86sjihsln4.fsf@kopusha.home.net> <4F365C10.5050607@zonov.org> <861upz6fcg.fsf@kopusha.home.net> <20120212200253.GC1355@garage.freebsd.pl> <4F38240B.5040507@zonov.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 12, 2012 at 12:41 PM, Andrey Zonov <andrey@zonov.org> wrote:
> On 13.02.2012 0:02, Pawel Jakub Dawidek wrote:
>>
>> On Sun, Feb 12, 2012 at 09:06:55PM +0200, Mikolaj Golub wrote:
>>>
>>> =A0AZ> =A0Check return code from pidfile_write() function. =A0I saw man=
y times
>>> =A0AZ> =A0when pid could not be written because of there is not enough =
free
>>> =A0AZ> =A0space (but file was created). =A0Unfortunately, I have no sug=
gestions
>>> =A0AZ> =A0how to handle this properly.
>>>
>>> We could return with error in this case (for me this almost the same as
>>> if we
>>> don't create file at all). But if we check pidfile_write() status we
>>> should
>>> resign the pidfile_write() feature that allows to pass NULL pidfh and
>>> check if
>>> pidfile option is used. Something like in this patch:
>>>
>>> http://people.freebsd.org/~trociny/daemon/daemon.pidfile_write.1.patch
>>>
>>> Not sure I should commit this though.
>>
>>
>> Please don't. Even if you can't write the pidfile, you should run the
>> service. The same as for pidfile_open() failure as documented in
>> example. Feel free to warn about problem with writing to pidfile, but
>> don't treat it as critial error.
>
>
> The problem is the following you cannot stop such a service with standard
> rc.d script and empty pidfile.

Right. So why not add a Unix socket listener to daemon(8) so the rc.d
script can send commands over the socket instead of using the pidfile?
This is what supervise/svc let you do today.

I don't understand why this solution isn't obvious once you are
committed to running daemon(8) for each service anyway. And then you
don't need pidfiles because now you have a much better, standard
control interface (sending commands to daemon(8) and gathering
responses).

Jos

>>
>> We can also add such a warning to the example in the manual page.
>>
>
> --
> Andrey Zonov
>
> _______________________________________________
> svn-src-head@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org"



--=20
Jos Backus
jos at catnook.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAETOPp0mYn0fVdBdzsDaH16SXzFHa_wLXE3vg--4cgXwVFg9pA>