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>