isEmptyChan, System.Posix.Signals

ariep at ariep at
Sat Aug 14 11:00:13 EDT 2004


Two independent questions/remarks:

1. 'isEmptyChan x' blocks if x is empty and some other thread is waiting
to read from x:

Prelude Control.Concurrent> x <- newChan
Prelude Control.Concurrent> forkIO $ readChan x
Prelude Control.Concurrent> empty <- isEmptyChan x
*** Exception: thread blocked indefinitely

Is that the intended behaviour? Is it possible to make a non-blocking

2. System.Posix.Signals does not export anything on my windows installation:

Prelude System.Posix.Signals> :b System.Posix.Signals

Prelude System.Posix.Signals>

I wanted to include 'installHandler sigPIPE Ignore Nothing' (as mentioned
in the documentation of the Network module) in my program to make it more
portable. Perhaps 'installHandler' could be set to a constant 'return ()'
on windows?

My GHC version is 6.2.
(Please let me apologise in advance in case (some of) these issues have
changed since 6.2.)


Arie Peterson

More information about the Glasgow-haskell-users mailing list