From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2992454AbXCGWCJ (ORCPT ); Wed, 7 Mar 2007 17:02:09 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S2992464AbXCGWCI (ORCPT ); Wed, 7 Mar 2007 17:02:08 -0500 Received: from x35.xmailserver.org ([64.71.152.41]:42759 "EHLO x35.xmailserver.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2992454AbXCGWB7 (ORCPT ); Wed, 7 Mar 2007 17:01:59 -0500 X-AuthUser: davidel@xmailserver.org Date: Wed, 7 Mar 2007 14:01:56 -0800 (PST) From: Davide Libenzi X-X-Sender: davide@alien.or.mcafeemobile.com To: Linus Torvalds cc: Jeremy Fitzhardinge , Stephen Rothwell , Linux Kernel Mailing List , Andrew Morton Subject: Re: [patch 1/4] signalfd v1 - signalfd core ... In-Reply-To: Message-ID: References: <20070307155553.06c82ca1.sfr@canb.auug.org.au> <20070307233833.f1482f86.sfr@canb.auug.org.au> <45EF20F7.1050307@goop.org> <45EF2DFF.4060209@goop.org> X-GPG-FINGRPRINT: CFAE 5BEE FD36 F65E E640 56FE 0974 BF23 270F 474E X-GPG-PUBLIC_KEY: http://www.xmailserver.org/davidel.asc MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 7 Mar 2007, Linus Torvalds wrote: > > > On Wed, 7 Mar 2007, Davide Libenzi wrote: > > > > You have the *choice* to do that: > > > > 1) You want standard delivery only: > > > > - Just dont use signalfd > > > > 2) you want signalfd only: > > > > - Do a sigprocmask(SIG_BLOCK) of the same mask you pass to signalfd > > > > If you want both, you can have it. Race free. > > .. but maybe with more code and lots of confusion. I'm still unclear on > any upsides here. Ok, given that you have to place the notifiers (you had a direct call to wake_up, same thing - but was not handling the "the sighand has been detched" case), your queue_signal() call translates to: sq = list_entry(ctx->squeue.next, struct signalfd_sq, lnk); list_del(&sq->lnk); That's pretty much it. There is more code WRT your patch, but there are more things handled too (reuse of the fd, notify detachment, send siginfo). And those has to be handled in any case. - Davide