summaryrefslogtreecommitdiff
path: root/pthread_support.c
diff options
context:
space:
mode:
authorivmai <ivmai>2010-10-15 07:09:05 +0200
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 19:06:55 +0200
commit1969530abcec2ce56ff80a35422f37fa187710d0 (patch)
treeaddc8d1562820514042d605712d746ece037d4a4 /pthread_support.c
parent48d5ef0413159edce9fc01f2506c7ca2ed89bb81 (diff)
2010-10-15 Ivan Maidanski <ivmai@mail.ru>
* darwin_stop_world.c (GC_mach_threads): Remove static qualifier. * darwin_stop_world.c (GC_stop_init): Remove (as we do not need to really clear GC_mach_threads[]). * darwin_stop_world.c (GC_stop_world): Reset GC_mach_threads_count (instead of calling GC_stop_init). * include/private/pthread_support.h (GC_stop_init): Remove proto. * pthread_support.c (GC_stop_init): Add proto (unless Darwin). * pthread_support.c (GC_thr_init): Don't call GC_stop_init() if GC_DARWIN_THREADS.
Diffstat (limited to 'pthread_support.c')
-rw-r--r--pthread_support.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/pthread_support.c b/pthread_support.c
index 1a2bdfb..5ceffb9 100644
--- a/pthread_support.c
+++ b/pthread_support.c
@@ -846,6 +846,10 @@ STATIC void GC_fork_child_proc(void)
__thread int GC_dummy_thread_local;
#endif
+#ifndef GC_DARWIN_THREADS
+ GC_INNER void GC_stop_init(void); /* defined in pthread_stop_world.c */
+#endif
+
/* We hold the allocation lock. */
GC_INNER void GC_thr_init(void)
{
@@ -885,7 +889,9 @@ GC_INNER void GC_thr_init(void)
t -> flags = DETACHED | MAIN_THREAD;
}
- GC_stop_init();
+# ifndef GC_DARWIN_THREADS
+ GC_stop_init();
+# endif
/* Set GC_nprocs. */
{