From owner-freebsd-threads@FreeBSD.ORG Thu Aug 3 18:00:35 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 50BA616A4E0 for ; Thu, 3 Aug 2006 18:00:35 +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 3DF7B43D49 for ; Thu, 3 Aug 2006 18:00:34 +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 k73I0YWr010021 for ; Thu, 3 Aug 2006 18:00:34 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k73I0YQR010020; Thu, 3 Aug 2006 18:00:34 GMT (envelope-from gnats) Date: Thu, 3 Aug 2006 18:00:34 GMT Message-Id: <200608031800.k73I0YQR010020@freefall.freebsd.org> To: freebsd-threads@FreeBSD.org From: Daniel Eischen 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: Daniel Eischen List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Aug 2006 18:00:35 -0000 The following reply was made to PR threads/101323; it has been noted by GNATS. From: Daniel Eischen To: Poul-Henning Kamp Cc: FreeBSD-gnats-submit@freebsd.org, freebsd-threads@freebsd.org Subject: Re: threads/101323: fork(2) in threaded programs broken. Date: Thu, 3 Aug 2006 13:51:45 -0400 (EDT) On Thu, 3 Aug 2006, Poul-Henning Kamp wrote: > Forking a threaded process and starting a thread in the > child process does not work. > > Tested on -current and releng_6 and both fails with more or > less the same error message: > > Fatal error 'mutex is on list' at line 540 in file > /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 0) fork()ing from a threaded process and making calls to functions other than those defined as async-signal-safe is not allowed by POSIX. libpthread intentionally doesn't support this. -- DE