]> 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>
Thu, 23 Jun 2016 07:14:21 +0000 (10:14 +0300)
commitea1aaa6548521d7719714fd2152386a4f4f7c77c
treeaab62ff3e9dc9e4139a0f6684328ae1a3b9ce90a
parentd8bfa89c2a9c7c86fb98acbc53b5750600b95492
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