From owner-svn-src-all@FreeBSD.ORG Sat Mar 21 13:42:13 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E29CD106566C; Sat, 21 Mar 2009 13:42:13 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out2.smtp.messagingengine.com (out2.smtp.messagingengine.com [66.111.4.26]) by mx1.freebsd.org (Postfix) with ESMTP id A8BA18FC0A; Sat, 21 Mar 2009 13:42:13 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 20A682F8128; Sat, 21 Mar 2009 09:42:13 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Sat, 21 Mar 2009 09:42:13 -0400 X-Sasl-enc: +CQcwctGUd4LFmX7irU64dwjHpcRLDEA047tIM2f2Q5F 1237642932 Received: from anglepoise.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 1FAE64D4FD; Sat, 21 Mar 2009 09:42:12 -0400 (EDT) Message-ID: <49C4EEB2.4080507@incunabulum.net> Date: Sat, 21 Mar 2009 13:42:10 +0000 From: Bruce Simpson User-Agent: Thunderbird 2.0.0.19 (X11/20090125) MIME-Version: 1.0 To: Robert Watson References: <200903142010.n2EKAESF006945@svn.freebsd.org> <20090320140015.GA17645@hub.freebsd.org> <20090320153405.GA62675@zim.MIT.EDU> <49C3BCD4.4030605@freebsd.org> <1237567495.1993.2.camel@localhost> <49C3D518.6070105@freebsd.org> <1237573175.1993.19.camel@localhost> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, Vasil Dimov , Sam Leffler , svn-src-head@freebsd.org, Coleman Kane Subject: Re: svn commit: r189828 - in head: include sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2009 13:42:14 -0000 Robert Watson wrote: > On Fri, 20 Mar 2009, Coleman Kane wrote: > >> I've found that many of the GNU apps are notorious for this. I really >> can't say that I know why libassuan or gnupg explicitly require GNU >> pth, rather than first attempting to use POSIX pthread API. Their >> configure scripts both want to search for and run pth-config, and >> fail to enable some sort of threaded features if it doesn't exist. I >> already tried removing pth stuff from both port Makefiles to see what >> would happen. I didn't spend much time on it after I figured out that >> devel/pth would just work if I removed the signal.h include. >> >> I am guessing that some non-standard extensions which GNU pth >> provides are not provided by the normal POSIX spec. >> >> In fact, libassuan just goes ahead and uses a bunch of pth_* >> overrides for dealing with them in a thread-safe manner (waitpid, >> read, write, select, usleep). > > Historically, pthreads implementations were highly variable in > quality, completeness, etc. It wouldn't surprise me if the > persistence of applications linking against pth isn't, in part, a > response to that (now-historic) situation. No, this isn't the only reason. There are a few issues with threading and fork() -- other implementations support forking and rethreading processes, something which bends the POSIX rules (it is not expressly forbidden by them), but ours hasn't. This was causing some of the Python regression tests to fail for 'multiprocessing' and 'threading'. Since POSIX semaphores appear to be fixed, however, we should be able to get away with building Python on FreeBSD with them natively. kib@ has committed the rtld fix which makes this possible in 8-CURRENT. For now, ie until such fixes can be MFCed, I've committed support to the lang/python26 port to enable it to be built against GNU Pth. cheers BMS