2007-06-13 Dick Porter <dick@ximian.com>
authorDick Porter <dick@acm.org>
Wed, 13 Jun 2007 09:15:08 +0000 (09:15 -0000)
committerDick Porter <dick@acm.org>
Wed, 13 Jun 2007 09:15:08 +0000 (09:15 -0000)
commit379d9d323a20eec101e6a0c3459bf16694e80a3e
tree341e8fe8028a80c8a220e130fa980153013fc879
parenta78f98b6210756f1f77d966a2ab5cbff60da0402
2007-06-13  Dick Porter  <dick@ximian.com>

* handles.c (timedwait_signal_wait_cond): Alertable waits on
private handles are now interrupted by signalling the same
condition that would end the wait if the handle became signalled,
rather than polling.  (Shared handles still have to poll.)

* threads.c (_wapi_thread_queue_apc): Interrupt the thread if it's
waiting on a handle

* handles-private.h (_wapi_handle_current_thread_set_waiting_on):
Helper functions to inform the APC queuing functions when threads
are waiting for handles, and to interrupt the wait.

* wait.c (WaitForMultipleObjectsEx): Need to tell the handle
waiting functions if any of the handles in question are shared

svn path=/trunk/mono/; revision=79386
mono/io-layer/ChangeLog
mono/io-layer/handles-private.h
mono/io-layer/handles.c
mono/io-layer/thread-private.h
mono/io-layer/threads.c
mono/io-layer/uglify.h
mono/io-layer/wait.c