[GHC] #7773: Waiting on non-kqueue supported files on OS X

GHC cvs-ghc at haskell.org
Sat Mar 16 22:22:49 CET 2013


#7773: Waiting on non-kqueue supported files on OS X
----------------------------------------+-----------------------------------
Reporter:  AndreasVoellmy               |          Owner:                  
    Type:  bug                          |         Status:  new             
Priority:  normal                       |      Component:  libraries/base  
 Version:  7.7                          |       Keywords:                  
      Os:  MacOS X                      |   Architecture:  Unknown/Multiple
 Failure:  Incorrect result at runtime  |      Blockedby:                  
Blocking:                               |        Related:                  
----------------------------------------+-----------------------------------
 Neither the old IO manager nor the new "parallel" IO manager properly
 handle waiting on files on Mac OS X when kqueue does not support the
 device type. PHO reported this on ghc-devs:
 http://www.haskell.org/pipermail/ghc-devs/2013-March/000798.html.

 Here is the gist of it: the IO manager uses kqueue to wait on files on OS
 X. kqueue does not support all files. For example, on older versions of OS
 X (10.5.8) it cannot wait on tty devices and on even on 10.8.2 it cannot
 wait on /dev/random.

 Both the old and parallel IO managers suffered from the problem, but the
 consequences were slightly different. With the old IO manager the
 situation was treated as the file being ready, which would just cause the
 waiting thread to run again. The parallel IO manager changed things
 slightly and now it just throws an exception and terminates the program.
 So the behavior when this happens in the parallel IO manager is not
 acceptable.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7773>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list