patch applied (ghc-7.0/packages/base): Fix #4514 - IO manager deadlock
Ian Lynagh
igloo at earth.li
Mon Dec 13 18:06:57 CET 2010
Fri Nov 26 15:28:10 PST 2010 Bryan O'Sullivan <bos at serpentine.com>
* Fix #4514 - IO manager deadlock
* The public APIs for threadWaitRead and threadWaitWrite remain unchanged,
and now throw an IOError if a file descriptor is closed behind their
backs. This behaviour is documented.
* The GHC.Conc API is extended to add a closeFd function, the behaviour
of which is documented.
* Behind the scenes, we add a new evtClose event, which is used only when
one thread closes a file descriptor that other threads are blocking on.
* Both base's IO code and network use the new closeFd function.
M ./Control/Concurrent.hs +25
M ./GHC/Conc.lhs +1
M ./GHC/Conc/IO.hs +21
M ./GHC/IO/FD.hs -5 +7
M ./System/Event.hs -1 +1
M ./System/Event/Internal.hs -2 +12
M ./System/Event/Manager.hs -9 +12
M ./System/Event/Thread.hs -2 +29
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc-7.0/packages/base;a=darcs_commitdiff;h=20101126232810-00f12-2273458e1735ef94b728a2a7e54b175a858db7e0.gz
More information about the Cvs-libraries
mailing list