[GHC] #1520: Use Linux's signalfd() instead of pipe() to deliver signals to the IO manager

GHC cvs-ghc at haskell.org
Tue Jan 22 18:13:57 CET 2013


#1520: Use Linux's signalfd() instead of pipe() to deliver signals to the IO
manager
-----------------------------+----------------------------------------------
  Reporter:  simonmar        |          Owner:                            
      Type:  task            |         Status:  closed                    
  Priority:  lowest          |      Milestone:  7.6.2                     
 Component:  Runtime System  |        Version:  6.6.1                     
Resolution:  wontfix         |       Keywords:                            
        Os:  Linux           |   Architecture:  Unknown/Multiple          
   Failure:  None/Unknown    |     Difficulty:  Moderate (less than a day)
  Testcase:                  |      Blockedby:                            
  Blocking:                  |        Related:                            
-----------------------------+----------------------------------------------
Changes (by simonmar):

  * status:  new => closed
  * resolution:  => wontfix


Comment:

 No, the new IO manager does it the same way as the old one.  We did
 discuss it, and unfortunately `signalfd()` is not suitable, because it
 requires the signals to be masked, and there's no good way to ensure that
 happens across all threads in the program (what if some threads are in C
 and not managed by us?).  `sigwaitinfo()` suffers from the same problem.

 So I think this is a wontfix.

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



More information about the ghc-tickets mailing list