On Sat, Nov 27, 2010 at 9:05 PM, wren ng thornton <wren@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? 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