From owner-freebsd-hackers@FreeBSD.ORG Wed Jan 9 03:22:26 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 66C31D2D; Wed, 9 Jan 2013 03:22:26 +0000 (UTC) (envelope-from davidxu@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 3CA60DF9; Wed, 9 Jan 2013 03:22:26 +0000 (UTC) Received: from xyf.my.dom (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.6/8.14.6) with ESMTP id r093MO34035454; Wed, 9 Jan 2013 03:22:25 GMT (envelope-from davidxu@freebsd.org) Message-ID: <50ECE28D.4080308@freebsd.org> Date: Wed, 09 Jan 2013 11:22:53 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:14.0) Gecko/20120822 Thunderbird/14.0 MIME-Version: 1.0 To: Daniel Eischen Subject: Re: Is it possible to block pending queued RealTime signals (AIO originating)? References: <1357608470.6752.22.camel@localhost.localdomain> <50EB888A.2030802@freebsd.org> <1357626838.6752.27.camel@localhost.localdomain> <50EBC480.8000306@freebsd.org> <1357661646.6752.30.camel@localhost.localdomain> <1357686894.6752.37.camel@localhost.localdomain> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Richard Sharpe X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 03:22:26 -0000 On 2013/01/09 11:14, Daniel Eischen wrote: > On Tue, 8 Jan 2013, Richard Sharpe wrote: > >> [ ... ] >> >> Well, it turns out that your suggestion was correct. >> >> I did some more searching and found another similar suggestion, so I >> gave it a whirl, and it works. >> >> Now, my problem is that Jeremy Allison thinks that it is a fugly hack. >> This means that I will probably have big problems getting a patch for >> this into Samba. > > I don't understand why JA thinks this is a hack. Their current > method doesn't work, or at least isn't portable. I've tried this > on Solaris 10, and it works just as it does in FreeBSD. Test > program included after signature. > > $ ./test_sigprocmask > Sending signal 16 > Got signal 16, blocked: true > Blocking signal 16 using method 0 > Handled signal 16, blocked: false > > Sending signal 16 > Got signal 16, blocked: true > Blocking signal 16 using method 1 > Handled signal 16, blocked: true > Yeah, people think that signal handler is normal code, this is a misunderstanding, in fact, it really works like an interrupt service routine.