diff --git a/configure.in b/configure.in
index 66d31340972aba39730279a70edc9b6824b8a8a5..3aced513209972fa7f3074a6fb4286c543b8ba97 100644
--- a/configure.in
+++ b/configure.in
@@ -7230,7 +7230,7 @@ if test "$OS_TARGET" = Android; then
         WRAP_LDFLAGS="${WRAP_LDFLAGS} -Wl,--wrap=dlopen,--wrap=dlclose,--wrap=dlerror,--wrap=dlsym,--wrap=dladdr"
     fi
     WRAP_LDFLAGS="${WRAP_LDFLAGS} -Wl,--wrap=getaddrinfo,--wrap=freeaddrinfo,--wrap=gai_strerror"
-    WRAP_LDFLAGS="${WRAP_LDFLAGS} -Wl,--wrap=fork,--wrap=pthread_atfork"
+    WRAP_LDFLAGS="${WRAP_LDFLAGS} -Wl,--wrap=fork,--wrap=pthread_atfork,--wrap=raise"
 fi
 
 dnl ========================================================
diff --git a/mozglue/android/APKOpen.cpp b/mozglue/android/APKOpen.cpp
index 793b0f74e23fdf99cb20257b0cf923bb795fbf23..243834c72e13715233d9cfc818338b5b58f146ad 100644
--- a/mozglue/android/APKOpen.cpp
+++ b/mozglue/android/APKOpen.cpp
@@ -49,6 +49,7 @@
 #include <sys/mman.h>
 #include <sys/limits.h>
 #include <errno.h>
+#include <pthread.h>
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -1082,3 +1083,10 @@ __wrap_fork(void)
   }
   return pid;
 }
+
+extern "C" NS_EXPORT int
+__wrap_raise(int sig)
+{
+  return pthread_kill(pthread_self(), sig);
+}
+
diff --git a/mozglue/gonk/GonkGlue.cpp b/mozglue/gonk/GonkGlue.cpp
index 434fd9fd63cad73de35a51464009db7b6c1c570c..6eefb43c4cf2abd205efc5438273d43665ac11c7 100644
--- a/mozglue/gonk/GonkGlue.cpp
+++ b/mozglue/gonk/GonkGlue.cpp
@@ -4,6 +4,7 @@
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include <unistd.h>
+#include <pthread.h>
 #include <vector>
 
 #define NS_EXPORT __attribute__ ((visibility("default")))
@@ -51,3 +52,10 @@ __wrap_fork(void)
   }
   return pid;
 }
+
+extern "C" NS_EXPORT int
+__wrap_raise(int sig)
+{
+  return pthread_kill(pthread_self(), sig);
+}
+