From owner-freebsd-gnome@FreeBSD.ORG Tue Nov 9 06:00:25 2010 Return-Path: Delivered-To: gnome@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C51F106566B for ; Tue, 9 Nov 2010 06:00:25 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 408CC8FC15 for ; Tue, 9 Nov 2010 06:00:25 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id oA960PQp064927 for ; Tue, 9 Nov 2010 06:00:25 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id oA960PeX064902; Tue, 9 Nov 2010 06:00:25 GMT (envelope-from gnats) Date: Tue, 9 Nov 2010 06:00:25 GMT Message-Id: <201011090600.oA960PeX064902@freefall.freebsd.org> To: gnome@FreeBSD.org From: Andriy Gapon Cc: Subject: Re: ports/151725: sysutils/hal: hald fails to start with dbus-1.4 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Andriy Gapon List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Nov 2010 06:00:25 -0000 The following reply was made to PR ports/151725; it has been noted by GNATS. From: Andriy Gapon To: Joe Marcus Clarke Cc: Kevin Oberman , gnome@freebsd.org, bug-followup@freebsd.org Subject: Re: ports/151725: sysutils/hal: hald fails to start with dbus-1.4 Date: Tue, 09 Nov 2010 07:52:48 +0200 on 09/11/2010 07:47 Joe Marcus Clarke said the following: > On 11/9/10 12:36 AM, Andriy Gapon wrote: >> on 09/11/2010 02:14 Kevin Oberman said the following: >>> I'll try this as soon as I can. I'm not too sure that it will happen as >>> I think that this is somehow timing related. I suspect that the entry is >>> disappearing too quickly with 1.4 in some cases but is not a problem >>> with 1.2. Perhaps some optimization? >>> >>> I suggest this because on at least rare occasion, 1.4 did run >>> successfully, not because I have any clue what was happening under the >>> covers. >> >> I guess that I already explained this part. >> The problem happened because we tried to write something (even if it's just zero >> sized something) into stdin of a child process that already exited. >> Sometimes the child process was quicker, sometimes the parent process was >> quicker, hence the non-determinism. >> > > Ah, I missed that. I wonder if it would be safer then to ignore SIGPIPE > around the write block. Maybe. But not calling write(2) when we don't have anything to write (zero length) also looks like a good solution (for me personally). My point is: zero-sized write in nothing but testing OS implementation details of handling zero-sized writes, it doesn't perform any useful function. OTOH, if a child process is supposed to get any actual input, then it won't exit prematurely, but would block reading from its stdin until the input arrives. But I think I am starting to repeat what I have already wrote before. -- Andriy Gapon