- Incorporate a few patches from Paolo, slightly modified:
+2009-01-14 Zoltan Varga <vargaz@gmail.com>
+
+ * handles-private.h (_wapi_handle_set_signal_state): Set the signalled state
+ of the handle while locking the global signal cond mutex.
+
+ * wait.c (WaitForMultipleObjectsEx): Check the signalled state of handles
+ inside the critical section before waiting, otherwise we could go to waiting
+ even when the handles are already signalled.
+
+2009-01-13 Zoltan Varga <vargaz@gmail.com>
+
+ Reapply r122913, this time handling processes by falling back to polling.
+ * handles.c: Rework the way the global signal stuff is handled: instead of
+ allocating a separate mutex/condvar pair for it, allocate a normal handle.
+ This way, it can reuse the alertable waiting code, allowing
+ WaitForMultipleObject to work without polling.
+
2009-01-09 Miguel de Icaza <miguel@novell.com>
+ Incorporate a few patches from Paolo, slightly modified:
+
* handles.c (_wapi_handle_check_share): On non-Linux systems, do
not even compile in the code that scans for /proc/fd, and go
directly to the fallback function.
(wapi_interrupt_thread): Rework the comments, the thread is no longer
required to call QueueUserAPC to make the wait functions return.
- * handles.c: Rework the way the global signal stuff is handled: instead of
- allocating a separate mutex/condvar pair for it, allocate a normal handle.
- This way, it can reuse the alertable waiting code, allowing
- WaitForMultipleObject to work without polling.
-
* threads.c handles.c threads-internal.h: Implement alertable waits without
polling.