Better control of the IO manager thread; improvements to deadlock checking
authorSimon Marlow <simonmar@microsoft.com>
Wed, 24 May 2006 12:28:39 +0000 (12:28 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Wed, 24 May 2006 12:28:39 +0000 (12:28 +0000)
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.


No differences found