From owner-freebsd-hackers@FreeBSD.ORG Wed Dec 31 06:30:18 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5CC2916A4CE for ; Wed, 31 Dec 2003 06:30:18 -0800 (PST) Received: from mailhost.stack.nl (vaak.stack.nl [131.155.140.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5177443D1F for ; Wed, 31 Dec 2003 06:30:17 -0800 (PST) (envelope-from marcolz@stack.nl) Received: from toad.stack.nl (zen.stack.nl [2001:610:1108:5010::130]) by mailhost.stack.nl (Postfix) with ESMTP id 3FF2DD78#340531F0FB; Wed, 31 Dec 2003 15:30:16 +0100 (CET) Received: by toad.stack.nl (Postfix, from userid 333) id 06DDF97; Wed, 31 Dec 2003 15:30:15 +0100 (CET) Date: Wed, 31 Dec 2003 15:30:15 +0100 From: Marc Olzheim To: Daniel Eischen Message-ID: <20031231143015.GA59104@stack.nl> References: <20031231140533.GA56158@stack.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD toad.stack.nl 4.9-RC FreeBSD 4.9-RC X-URL: http://www.stack.nl/~marcolz/ User-Agent: Mutt/1.5.5.1i cc: Marc Olzheim cc: hackers@freebsd.org Subject: Re: libc_r/uthread/uthread_join.c X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2003 14:30:18 -0000 On Wed, Dec 31, 2003 at 09:22:14AM -0500, Daniel Eischen wrote: > > Hmm, ok ;-) But then why is _thread_kern_sig_undefer() called within > > every if-case, instead of just below the if ? It looked like it was > > contructed this way to be able to omit _thread_kern_sig_undefer() in > > that specific case... ;-) > > Look at revision 1.16 of uthread_join. Revision 1.17 removed the > _thread_kern_sig_[un]defer()'s and revision 1.18 put them back in > but left an undefer. So I noticed. But it seems to me as if the undefers could be removed from within the if-else-blocks and collapsed into a single undefer just beneath the if-else-blocks, right before the _thread_leave_cancellation_point(); Zlo