From owner-freebsd-threads@FreeBSD.ORG Thu Aug 3 20:10:29 2006 Return-Path: X-Original-To: freebsd-threads@hub.freebsd.org Delivered-To: freebsd-threads@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6504716A4DE for ; Thu, 3 Aug 2006 20:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id C226C43D55 for ; Thu, 3 Aug 2006 20:10:28 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k73KASwM021231 for ; Thu, 3 Aug 2006 20:10:28 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k73KASoE021230; Thu, 3 Aug 2006 20:10:28 GMT (envelope-from gnats) Date: Thu, 3 Aug 2006 20:10:28 GMT Message-Id: <200608032010.k73KASoE021230@freefall.freebsd.org> To: freebsd-threads@FreeBSD.org From: "Poul-Henning Kamp" Cc: Subject: Re: threads/101323: fork(2) in threaded programs broken. X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Poul-Henning Kamp List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Aug 2006 20:10:29 -0000 The following reply was made to PR threads/101323; it has been noted by GNATS. From: "Poul-Henning Kamp" To: Daniel Eischen Cc: FreeBSD-gnats-submit@freebsd.org, freebsd-threads@freebsd.org Subject: Re: threads/101323: fork(2) in threaded programs broken. Date: Thu, 03 Aug 2006 20:08:20 +0000 In message , Daniel Eischen wr ites: >There's no easy way to hold all library locks. They are >littered in libc and libpthread and the application doesn't >have access to them. You would have to teach libc to >record these locks and export a function to lib >to lock and unlock these them. I would be perfectly happy if libpthread would just at the very least release the locks it specifically grabs for the fork. There's a big difference between giving it a sensible shot and downright sabotaging it the way we do currently. Anyway, apart from the view from the theoretical high ground and the fact that POSIX doesn't actually say anything helpful here, are there any objections to the fix I proposed ? -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.