]> granicus.if.org Git - gc/commitdiff
Disable mprotect-based incremental GC if /proc roots are used (Linux)
authorIvan Maidanski <ivmai@mail.ru>
Thu, 29 Aug 2019 21:28:23 +0000 (00:28 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 10 Oct 2019 21:49:22 +0000 (00:49 +0300)
(a cherry-pick of commit 79ae7acd from 'master')

The incremental GC is considered incompatible with /proc roots.

* include/private/gcconfig.h [USE_PROC_FOR_LIBRARIES
&& GC_LINUX_THREADS] (MPROTECT_VDB): Undefine; add comment.

include/private/gcconfig.h

index 2153df021cece84c4c6ff36d3c076334c753a775..aa4d29fd0e1ec80e94a4a3af8a9a6919ba59274f 100644 (file)
 
 /* PARALLEL_MARK does not cause undef MPROTECT_VDB any longer.  */
 
+#if defined(USE_PROC_FOR_LIBRARIES) && defined(GC_LINUX_THREADS)
+  /* Incremental GC is incompatible with /proc roots.   */
+# undef MPROTECT_VDB
+#endif
+
 #if defined(MPROTECT_VDB) && defined(GC_PREFER_MPROTECT_VDB)
   /* Choose MPROTECT_VDB manually (if multiple strategies available).   */
 # undef PCR_VDB