From owner-freebsd-hackers@FreeBSD.ORG Thu May 12 21:43:55 2005 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 7F2A316A4CE; Thu, 12 May 2005 21:43:55 +0000 (GMT) Received: from mail.farley.org (farley.org [67.64.95.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id F2D1B43D83; Thu, 12 May 2005 21:43:54 +0000 (GMT) (envelope-from sean-freebsd@farley.org) Received: from thor.farley.org (thor.farley.org [IPv6:2001:470:1f01:290:1::5]) by mail.farley.org (8.13.1/8.13.1) with ESMTP id j4CLhmxo048912; Thu, 12 May 2005 16:43:49 -0500 (CDT) (envelope-from sean-freebsd@farley.org) Received: from localhost (localhost [127.0.0.1]) by thor.farley.org (8.13.3/8.13.3) with ESMTP id j4CLhlbr004350; Thu, 12 May 2005 16:43:48 -0500 (CDT) (envelope-from sean-freebsd@farley.org) Date: Thu, 12 May 2005 16:43:47 -0500 (CDT) From: =?ISO-8859-1?Q?Se=E1n_C=2E_Farley?= To: =?ISO-8859-1?Q?Herv=E9_Kergourlay?= In-Reply-To: <20050512134151.O2556@thor.farley.org> Message-ID: <20050512163409.O4283@thor.farley.org> References: <428307A9.10901@atempo.com> <20050512134151.O2556@thor.farley.org> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1585788071-1115934011=:4283" Content-ID: <20050512164247.V4283@thor.farley.org> cc: hackers@freebsd.org cc: David Xu Subject: Re: Porting on FreeBSD 53 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: Thu, 12 May 2005 21:43:55 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1585788071-1115934011=:4283 Content-Type: TEXT/PLAIN; CHARSET=ISO-8859-1; FORMAT=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Content-ID: <20050512164024.T4283@thor.farley.org> On Thu, 12 May 2005, Se=E1n C. Farley wrote: > On Thu, 12 May 2005, Herv=E9 Kergourlay wrote: > > > >> 4) wait() API >>=20 >> 2 problems, the first is a ECHILD error on a wait call after a fork >> fork The code is generic for most of unix system. Is there any >> specific problems to manage the fork and wait APIs ? >> the second problem with calls is a blocking wait() call in the same >> condition but this time the son process is finished but the wait call >> in the father stays blocked, again it's a generic Unix code >>=20 >> If there is no evidence, ask me for more informations > > The second problem sounds like what I am encountering > (http://www.freebsd.org/cgi/query-pr.cgi?pr=3D77818) with zsh for my > shell. You did suspend (sigsuspend()) SIGCHLD before the fork? By > "fork fork", do you mean you fork twice? Ah ha! I see the problem that has been causing me this problem and probably you too. Signal suspensions (only these?) are not being copied with a double fork(). Here is an example program[1] to illustrate. They do get copied on FreeBSD-4.10 and Linux. I just do not know if they are supposed to be copied. Se=E1n P.S. I included David since he has been trying to help me with this bug. 1. http://www.farley.org/freebsd/tmp/grandparent.c --=20 sean-freebsd@farley.org --0-1585788071-1115934011=:4283--