]> granicus.if.org Git - gc/commitdiff
[android] pthread_kill cannot be used safely on android
authorGeoff Norton <grompf@sublimeintervention.com>
Thu, 14 Oct 2010 16:53:01 +0000 (12:53 -0400)
committerguest <ivmai@mail.ru>
Fri, 29 Jul 2011 11:31:22 +0000 (15:31 +0400)
Android's fork() function does not properly update the
pthread_internal_t->threadid variable to point to the tid of the
fork()'d thread, and instead still points to the pid of zygote.
As a result we need to track the android tid's manually since
gettid() is sane, and use an alternate to pthread_kill on android
Additionally, disable sgen support on android until the same
work has been done there

r: kumpera, vargaz

pthread_stop_world.c

index 603aff7866221122aaff8bfd42b84f986f0c714a..5a1b9f37172db62df18dabaa9468a422e07c2058 100644 (file)
@@ -315,6 +315,7 @@ pthread_t GC_stopping_thread;
 int GC_stopping_pid;
 
 #ifdef PLATFORM_ANDROID
+static
 int android_thread_kill(pid_t tid, int sig)
 {
     int  ret;