Problems with openFd and -threaded

wren ng thornton wren at freegeek.org
Tue Nov 30 00:49:41 EST 2010


On 11/29/10 6:36 PM, Bryan O'Sullivan wrote:
> On Sat, Nov 27, 2010 at 9:05 PM, wren ng thornton<wren at freegeek.org>  wrote:
>
>> So I've just started playing around with STM and -threaded programs and
>> I've run into a bug. The bug is similar to [1] except that the file in
>> question is a Posix FIFO instead of a Bluetooth device. Same behavior:
>> always errors with -threaded, but expected behavior when not -threaded
>> (i.e., blocks until another process opens the other end of the FIFO). GHC
>> version is 6.12.1.
>
> Isn't that pretty normal?

The blocking for someone to open the other end is perfectly normal. The 
fact that compiling with -threaded takes a perfectly working program and 
makes it consistently crash I wouldn't call "normal".

N.B., the call to openFd in question is from the main thread and before 
any STM or forkIO shenanigans.


> Just retry if you get EINTR, that's what
> throwErrnoIfMinus1 and friends are for:
>
> http://www.haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/Foreign-C-Error.html#v%3AthrowErrnoIfRetryMayBlock

I'll see if I can make a workaround with that, but as I said: Simon's 
already confirmed that this is a bug, I'm just looking for a ticket 
number or a version where it's fixed.

-- 
Live well,
~wren


More information about the Glasgow-haskell-users mailing list