isEmptyChan, System.Posix.Signals

ariep at xs4all.nl ariep at xs4all.nl
Sat Aug 14 11:00:13 EDT 2004


Hello,

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
version?

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.)

Regards,

Arie Peterson


More information about the Glasgow-haskell-users mailing list