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