]> granicus.if.org Git - gc/commit
Fix PARALLEL_MARK for Windows 7+
authorIvan Maidanski <ivmai@mail.ru>
Thu, 29 May 2014 19:32:45 +0000 (23:32 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sat, 31 May 2014 10:06:17 +0000 (14:06 +0400)
commitc2c650fd897f7c7a9fdbe140dc5131d0fd26f332
treef4a98b0c4d1fda4366584fda376b6b80380d0b32
parent199bebeadc89c11eb49c01f156b01d29b66a9a3f
Fix PARALLEL_MARK for Windows 7+
(Apply commit 57cc049 from 'master' branch.)

* doc/README.macros (DONT_USE_SIGNALANDWAIT): Remove.
* win32_threads.c (DONT_USE_SIGNALANDWAIT, GC_mark_mutex_waitcnt,
SignalObjectAndWait_type, signalObjectAndWait_func): Likewise.
* win32_threads.c (GC_marker_cv, GC_mark_thread, start_mark_threads,
GC_mark_mutex_state, GC_acquire_mark_lock, GC_release_mark_lock,
GC_wait_marker, GC_notify_all_marker, GC_thr_init): Do not check
DONT_USE_SIGNALANDWAIT macro (assume it is always on as multi-core
marker based on NT SignalObjectAndWait is broken in Windows 7+ leading
to a deadlock sometimes because the function is no longer atomic).

Conflicts:

    doc/README.macros
doc/README.macros
win32_threads.c