[systemd-devel] [PATCH] Describe handling of an AF_UNIX socket
Łukasz Stelmach
l.stelmach at samsung.com
Fri Jun 21 00:07:01 PDT 2013
It was <2013-06-20 czw 20:57>, when Lennart Poettering wrote:
> On Wed, 19.06.13 14:59, Łukasz Stelmach (l.stelmach at samsung.com) wrote:
>
>> Describe how to handle an AF_UNIX socket, with Accept set to false,
>> received from systemd, upon exit.
>>
>> Signed-off-by: Łukasz Stelmach <l.stelmach at samsung.com>
>> ---
>> man/systemd.socket.xml | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
>> index 6dc847d..f1e7d40 100644
>> --- a/man/systemd.socket.xml
>> +++ b/man/systemd.socket.xml
>> @@ -381,9 +381,15 @@
>> performance reasons, it is recommended
>> to write new daemons only in a way
>> that is suitable for
>> - <option>Accept=false</option>. This
>> - option is mostly useful to allow
>> - daemons designed for usage with
>> + <option>Accept=false</option>. A daemon
>> + listening on an AF_UNIX socket may, but does not need to, call
>> + <citerefentry><refentrytitle>close</refentrytitle><manvolnum>2</manvolnum></citerefentry>
>> + or
>> + <citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>2</manvolnum></citerefentry>
>> + on the received socket before exiting. However,
>> + it must not unlink the socket from a
>> + filesystem. This option is mostly useful
>> + to allow daemons designed for usage with
>
> Hmm, calling shutdown() on a listening socket will actually do weird
> things from which we cannot recover. Calling shutdown() is fine if you
> do it on connection sockets, but not for listening sockets. (or in other
> words: it's OK for Accept=yes, but not for Accept=no sockets.
Does this mean close(sockfd) is not the same as
shutdown(sockfd, SHUT_RDWR)? I've always thought it is.
--
Łukasz Stelmach
Samsung R&D Institute Poland
Samsung Electronics
More information about the systemd-devel
mailing list