[systemd-devel] [PATCH] core/socket: we only want one event on standard sockets

Shawn Landden shawn at churchofgit.com
Tue Nov 26 13:57:56 PST 2013


On Tue, Nov 26, 2013 at 1:48 PM, David Timothy Strauss
<david at davidstrauss.net> wrote:
> On Wed, Nov 27, 2013 at 6:23 AM, Shawn Landden <shawn at churchofgit.com> wrote:
>> I was worried that the fact that we never accept() the socket when using
>> distribute (now I am convinced we shouldn't use it otherwise)
>
> I'm not sure what you mean here. Distribute-style functionality is
> absolutely useful with Accept=true (to cap the number of simultaneous
> connections)
Are you sure applications can handle the extra file descriptor of
passing both the sockfd
and the acceptfd in this case? I don't see why they wouldn't just do
the accept() themselves?

Can you explain what you mean here, and how it differs from the
existing MaxConnections.

> as well as Accept=false (to allow running of a process
> pool of self-accepting, long-running workers).
>
>> would cause it to trigger multiple times for only one incoming connection,
>> if the spawned thread never entered accept() (or we raced it),
>> but reading this thread makes me think I don't fully understand the
>> semantics of EPOLLET.
>
> There are some decent examples on the man page: http://linux.die.net/man/7/epoll
Yeah I had read that, and seen it in the kernel source. I am just
confused and need to think about it some more.

-Shawn


More information about the systemd-devel mailing list