Re: + signalfd-retrieve-multiple-signals-with-one-read-call.patchadded to -mm tree
From: Davide Libenzi
Date: Mon May 21 2007 - 16:17:46 EST
On Mon, 21 May 2007, Oleg Nesterov wrote:
> > + schedule();
> > + locked = signalfd_lock(ctx, &lk);
> > + if (unlikely(!locked)) {
> > + /*
> > + * Let the caller read zero byte, ala socket
> > + * recv() when the peer disconnect. This test
> > + * must be done before doing a dequeue_signal(),
> > + * because if the sighand has been orphaned,
> > + * the dequeue_signal() call is going to crash.
> > + */
>
> Imho, the comment is a bit confusing. dequeue_signal() needs ->siglock
> even if signalfd_ctx is not orphaned.
The comment looks clear to me. It states:
1) The policy of returning 0 when the sighand has been detached
2) That we _must_not_ call dequeue_signal() in case signalfd_lock() fails
#ACK on the code mod below.
- Davide
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/