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
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc