aboutsummaryrefslogtreecommitdiff
path: root/nptl/pthread_kill.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/pthread_kill.c')
-rw-r--r--nptl/pthread_kill.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/nptl/pthread_kill.c b/nptl/pthread_kill.c
index 71e5a7b..fa5121a 100644
--- a/nptl/pthread_kill.c
+++ b/nptl/pthread_kill.c
@@ -69,6 +69,17 @@ __pthread_kill_implementation (pthread_t threadid, int signo, int no_tid)
return ret;
}
+/* Send the signal SIGNO to the caller. Used by abort and called where the
+ signals are being already blocked and there is no need to synchronize with
+ exit_lock. */
+int
+__pthread_raise_internal (int signo)
+{
+ /* Use the gettid syscall so it works after vfork. */
+ int ret = INTERNAL_SYSCALL_CALL (tgkill, __getpid (), __gettid(), signo);
+ return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
+}
+
int
__pthread_kill_internal (pthread_t threadid, int signo)
{