This is the mail archive of the
mailing list for the Cygwin project.
Re: CygPerl hangs opening FIFO after fork (in both parent&child)
On Thu, Jun 22, 2006 at 07:52:37PM -0700, Yitzchak Scott-Thoennes wrote:
>On Thu, Jun 22, 2006 at 06:53:38PM -0700, Brian Dessent wrote:
>> Linda Walsh wrote:
>>>The attached test case is simple and fairly short. It does not depend
>>>on File::BOM (and has none of the code from it).
>>>It's only dependency (other than perl) is the POSIX module, where,
>>>from, the "fifo" command is taken.
>>This appears to be a deadlock in the Cygwin DLL when both the reader
>>and writer end of a fifo tries to open the file at the same time (or
>>nearly the same time.) They end up signaling each other to ask about
>>the other end of the pipe, and hang there. It has nothing to do with
>>perl or fork, as far as I can tell -- the attached C testcase will work
>>fine if the reader end sleeps briefly to ensure the opening order.
>>It's just a classic race condition somewhere.
>Good job isolating this problem, Linda and Brian.
Not to denigrate Brian's analysis but, AFAICT, there was already a
snapshot with the fix by the time he sent his mail.
I only point this out because I didn't want it to look like I was
ungrateful for Brian's analysis or that I used it and didn't give
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html