summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2018-03-01 11:35:41 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-03-01 11:35:41 +0300
commitf30a26d5e335be3b84920e2b360b4d09ef83e447 (patch)
tree704bf94d2f4fd50e8d9ab40f93c1c66af9066bb0
parent5af01ec4152c51e33b84c1a35d02dc518a80b897 (diff)
downloadbdwgc-f30a26d5e335be3b84920e2b360b4d09ef83e447.tar.gz
Fix linkage of javaxfc.h symbols for the case of compilation as C++ code
Issue #206 (bdwgc). The functions should be declared (as extern "C") before the definition. * finalize.c [!GC_NO_FINALIZATION]: Include javaxfc.h. * pthread_stop_world.c [GC_ENABLE_SUSPEND_THREAD]: Likewise.
-rw-r--r--finalize.c1
-rw-r--r--pthread_stop_world.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/finalize.c b/finalize.c
index 640ee4e7..6f178b9d 100644
--- a/finalize.c
+++ b/finalize.c
@@ -17,6 +17,7 @@
#include "private/gc_pmark.h"
#ifndef GC_NO_FINALIZATION
+# include "javaxfc.h" /* to get GC_finalize_all() as extern "C" */
/* Type of mark procedure used for marking from finalizable object. */
/* This procedure normally does not mark the object, only its */
diff --git a/pthread_stop_world.c b/pthread_stop_world.c
index 35ca4b05..938a3847 100644
--- a/pthread_stop_world.c
+++ b/pthread_stop_world.c
@@ -430,6 +430,7 @@ STATIC void GC_restart_handler(int sig)
# ifdef GC_ENABLE_SUSPEND_THREAD
# include <sys/time.h>
+# include "javaxfc.h" /* to get the prototypes as extern "C" */
STATIC void GC_brief_async_signal_safe_sleep(void)
{