Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Nov 2010 07:52:48 +0200
From:      Andriy Gapon <avg@freebsd.org>
To:        Joe Marcus Clarke <marcus@freebsd.org>
Cc:        gnome@freebsd.org, bug-followup@freebsd.org
Subject:   Re: ports/151725: sysutils/hal: hald fails to start with dbus-1.4
Message-ID:  <4CD8E1B0.4010005@freebsd.org>
In-Reply-To: <4CD8E075.9090901@freebsd.org>
References:  <20101109001442.F27651CC0E@ptavv.es.net> <4CD8DDCD.3010902@freebsd.org> <4CD8E075.9090901@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CD8E1B0.4010005>