Re: accept() improvements for rt signals

From: Stephen C. Tweedie (sct@redhat.com)
Date: Tue Feb 22 2000 - 07:18:55 EST


Hi,

On Mon, 21 Feb 2000 09:45:52 -0800, Dan Kegel <dank@alumni.caltech.edu>
said:

> If the overall mantra of the F_SETSIG etc. api is "You never need
> to call poll() except when the RT sig queue overflows", though,
> we need to have events generated during the entire lifetime
> of each socket fd. Currently, there's a gap between the
> accept() and when rt signal generation is turned on for the fd,
> so you need to do a poll() to see if data arrived on the socket
> between accept() and F_SETSIG etc.

That's not quite correct. The mantra of F_SETSIG is that you never ever
have to do anything unscalable like polling on every fd you have open
when only a few have activity. The poll() you describe above is a
single non-blocking poll on one single fd, which doesn't have the
scalability problems inherent in making your whole event loop revolve
around poll().

> It would add some pleasing symmetry if the enhanced accept() also
> generated a queued notifier.

Agreed.

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:30 EST