Also return TRUE for late arrived signals. Thanks to Steven Brooks

2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-win32.c (g_cond_wait_internal): Also return TRUE for
	late arrived signals. Thanks to Steven Brooks
	<umbrook0@cs.umanitoba.ca> for pointing out.
This commit is contained in:
Sebastian Wilhelmi 2001-05-22 14:20:58 +00:00 committed by Sebastian Wilhelmi
parent d6ed8e36e7
commit 896d677f45
2 changed files with 9 additions and 2 deletions

View File

@ -1,5 +1,9 @@
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-win32.c (g_cond_wait_internal): Also return TRUE for
late arrived signals. Thanks to Steven Brooks
<umbrook0@cs.umanitoba.ca> for pointing out.
* gthread-impl.c (g_thread_init): Move the thread implementation
initialization to before assigning GThreadFuncs, which now is just
struct assigned and not memcpy'ed. Completed check for zero

View File

@ -237,8 +237,11 @@ g_cond_wait_internal (GCond *cond,
g_ptr_array_remove (cond->array, event);
/* In the meantime we could have been signaled, so we must again
* wait for the signal, this time with no timeout, to reset it */
win32_check_for_error (WAIT_FAILED != WaitForSingleObject (event, 0));
* wait for the signal, this time with no timeout, to reset
* it. retval is set again to honour the late arrival of the
* signal */
win32_check_for_error (WAIT_FAILED !=
(retval = WaitForSingleObject (event, 0)));
LeaveCriticalSection (&cond->lock);
}