[m-rev.] diff: Disable parallel marking on Windows.
Peter Wang
novalazy at gmail.com
Thu Aug 27 17:20:40 AEST 2015
Branches: master, 14.01
Disable Boehm GC parallel marking support on Windows for now as it is
broken on Windows 7+. The problem is fixed in bdwgc commit 57cc049,
whose log message states:
NT SignalObjectAndWait is broken in Windows 7+ leading to a
deadlock sometimes because the function is no longer atomic
Alternatively, we could define DONT_USE_SIGNALANDWAIT to force an
implementation that does not use SignalObjectAndWait; that is
essentially what commit 57cc049 does. However, there might be more
fixes required and we should be upgrading the GC anyway.
configure.ac:
As above.
diff --git a/configure.ac b/configure.ac
index 76408fd..20fa6b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3161,7 +3161,9 @@ case "$host" in
*)
CFLAGS_FOR_THREADS="$WIN32_GC_THREADLIB"
ENABLE_BOEHM_THREAD_LOCAL_ALLOC="-DTHREAD_LOCAL_ALLOC"
- ENABLE_BOEHM_PARALLEL_MARK="-DPARALLEL_MARK"
+ # Disable parallel marking on Windows until next upgrade.
+ # It is broken on Windows 7+ (see bdwgc commit 57cc049).
+ # ENABLE_BOEHM_PARALLEL_MARK="-DPARALLEL_MARK"
;;
esac
# avoid_sbrk?
@@ -3191,7 +3193,8 @@ case "$host" in
THREAD_LIBS=
fi
ENABLE_BOEHM_THREAD_LOCAL_ALLOC="-DTHREAD_LOCAL_ALLOC"
- ENABLE_BOEHM_PARALLEL_MARK="-DPARALLEL_MARK"
+ # Disable parallel marking on Windows until next upgrade.
+ # ENABLE_BOEHM_PARALLEL_MARK="-DPARALLEL_MARK"
;;
esac
;;
@@ -3200,7 +3203,8 @@ case "$host" in
CFLAGS_FOR_THREADS="$WIN32_GC_THREADLIB"
THREAD_LIBS="-lpthread"
ENABLE_BOEHM_THREAD_LOCAL_ALLOC="-DTHREAD_LOCAL_ALLOC"
- ENABLE_BOEHM_PARALLEL_MARK="-DPARALLEL_MARK"
+ # Disable parallel marking on Windows until next upgrade.
+ # ENABLE_BOEHM_PARALLEL_MARK="-DPARALLEL_MARK"
;;
*apple*darwin*)
--
2.1.2
More information about the reviews
mailing list