On Wed, Oct 04, 2006 at 12:33:25AM -0700, Ulrich Drepper ([email protected]) wrote:
> Evgeniy Polyakov wrote:
> > When we enter sys_ppoll() we specify needed signals as syscall
> > parameter, with kevents we will add them into the queue.
>
> No, this is not sufficient as I said in the last mail. Why do you
> completely ignore what others say. The code which depends on the signal
> does not have to have access to the event queue. If a library sets up
> an interrupt handler then it expect the signal to be delivered this way.
> In such situations ppoll etc allow the signal to be generally blocked
> and enabled only and *ATOMICALLY* around the delays. This is not
> possible with the current wait interface. We need this signal mask
> interfaces and the appropriate setup code.
>
> Being able to get signal notifications does not mean this is always the
> way it can and must happen.
It is completely possible to do what you describe without special
syscall parameters. Just add interesting signals to the queue (and
optionally block them globally) and wait on that queue.
When signal's event is generated and appropriate kevent is removed, that
signal will be restored in global signal mask (there are appropriate
enqueue/dequeue callbacks which can perform operations on signal mask
for given process).
My main consern is to not add special cases for something in generic
code, especially when gneric code can easily handle that situations.
> --
> ➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
>
--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]