bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange behaviour on 'read' from a pipe


From: Andreas Schwab
Subject: Re: Strange behaviour on 'read' from a pipe
Date: Sun, 01 Apr 2012 11:53:12 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux)

Chet Ramey <address@hidden> writes:

> On 3/31/12 9:19 AM, Lluís Batlle i Rossell wrote:
>> Hello,
>> 
>> I have this script, that I've found to never write "DONE" in my systems, with
>> bash 4.0, 4.1, 4.2.. until 4.2-p20, my last test.
>> 
>> However, in irc some people told me it prints DONE for them. If I run the 
>> script with
>> bash under 'strace -f', it also prints DONE.
>
> It looks like a simple race condition.  I suspect that the scheduler
> arranges things so that the child process ends up exiting between the
> open and the read, but I don't have any real evidence to back it up.

Note that the opening of the pipe as part of the redirection in the
parent blocks until there is a writer, ie. until the child opens the
pipe.  Can this open call return EINTR?

Andreas.

-- 
Andreas Schwab, address@hidden
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]