cvs commit: fptools/ghc/rts/win32 AsyncIO.c

Sigbjorn Finne sof at haskell.org
Fri Jul 29 16:21:51 EDT 2005


sof         2005/07/29 13:21:51 PDT

  Modified files:
    ghc/rts/win32        AsyncIO.c 
  Log:
  win32/AsyncIO.c:onIOComplete(), awaitRequests():
    Avoid completion table overflow through the use of
    a semaphore. Worker threads (the producers) wait for a free
    event slot to appear, the RTS thread (consumer) signal slot
    availability once the completion event has been de-queued and
    processed.
  
    This bug only manifests itself in 'massively concurrent' code
    (>200 threads), where the threads simultaneously engage in IO
    through the async IO layer. conc023 and conc036 in the regression
    test suite are examples of such.
  
  Merge to STABLE.
  
  Revision  Changes    Path
  1.12      +30 -5     fptools/ghc/rts/win32/AsyncIO.c


More information about the Cvs-ghc mailing list