openFd under -threaded gets interrupted
Donn Cave
donn at avvanta.com
Fri Dec 18 13:15:31 EST 2009
Quoth Mitar <mmitar at gmail.com>,
> Also is there any workaround possible in Haskell/GHC? For example
> making time while openFd is in progress without interrupts?
You might try something like this:
import System.Posix.Signals
...
setSignalMask fullSignalSet
fd <- openFd ...
setSignalMask emptySignalSet
I'm not in a position to try it in exactly the same situation, but
I see that when I run with all signals blocked as above, after a while
I have a SIGALRM pending (with -threaded or not), so I reckon that might
be the signal used by the runtime thread manager. If it works, I would
recommend blocking only that signal during the openFd, so for example
you'll be able to abort normally with SIGINT if the device is stuck.
Donn
More information about the Glasgow-haskell-users
mailing list