PROPOSAL(S): threadWaitError and threadWaitErrorSTM

Brandon Allbery allbery.b at gmail.com
Sun Mar 16 15:09:14 UTC 2014


On Sun, Mar 16, 2014 at 10:25 AM, Merijn Verstraaten <merijn at inconsistent.nl
> wrote:

> threadWaitError :: Fd -> IO ()
> threadWaitErrorSTM :: Fd -> IO (STM (), IO ())
>
> to allow for blocking on detecting error condition on file descriptors,
> similar to what C's select() allows.
>

If you mean the third bitmask, it is not for errors (notwithstanding the
documentation on some systems); an "exceptional condition" is not an error,
it's MSG_OOB data. Errors show as "ready" on the appropriate mask (read or
write) since a read (resp. write) will return immediately with the error
instead of blocking.

See
http://stackoverflow.com/questions/1342712/nix-select-and-exceptfds-errorfds-semanticsand
http://man7.org/linux/man-pages/man2/select_tut.2.html for more information.

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140316/9982d818/attachment.html>


More information about the Libraries mailing list