]> granicus.if.org Git - gc/commit
Workaround a bug in winpthreads causing parallel marks deadlock (MinGW)
authorAdrian Pop <adrian.pop@liu.se>
Fri, 10 Jun 2016 17:39:18 +0000 (20:39 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 10 Jun 2016 17:39:18 +0000 (20:39 +0300)
commitfb39e721b04b75aff75a2b8e45318f0fc060263e
tree9c0e90e7fa8c5c8046dd16922171e10c8194c7e1
parentd55c08ac9c0a71d51287e25982001104ae83b93d
Workaround a bug in winpthreads causing parallel marks deadlock (MinGW)

The solution is to use Win32 threads for parallel markers while using
winpthreads to provide GC-aware pthread_create/join/detach and fork.

See details in GitHub issue #81 and issue #119.

* win32_threads.c (GC_PTHREADS_PARAMARK): Do not define if
GC_PTHREADS, PARALLEL_MARK and __MINGW32__ (to workaround a deadlock
in do_sema_b_wait() of winpthreads).
win32_threads.c