Wed May 24 05:28:39 PDT 2006 Simon Marlow <[EMAIL PROTECTED]>
* Better control of the IO manager thread; improvements to deadlock checking
In the threaded RTS on *nix platforms:
- we now start the IO manager thread eagerly at startup time
(previously was started on demand).
- we now ask the IO manager thread to stop at shutdown
- In Timer.c:handle_tick, if it looks like we might be in a
deadlock, instead of calling prodOneCapability() which was known to be
wrong, we now send a byte down the IO manager's pipe to wake it up.
This also avoids a case of double-acquisition of a mutex, which
happened if prodOneCapability() was called while the current thread
was holding a mutex.
M ./rts/Prelude.h +4
M ./rts/RtsStartup.c +8
M ./rts/Timer.c +8
M ./rts/package.conf.in +8
M ./rts/posix/Signals.c +38
M ./rts/posix/Signals.h -1 +5
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc