summaryrefslogtreecommitdiff
path: root/libpthread/nptl/pthread_cancel.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread/nptl/pthread_cancel.c')
-rw-r--r--libpthread/nptl/pthread_cancel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libpthread/nptl/pthread_cancel.c b/libpthread/nptl/pthread_cancel.c
index ee9a3202f..d3fd140e8 100644
--- a/libpthread/nptl/pthread_cancel.c
+++ b/libpthread/nptl/pthread_cancel.c
@@ -21,6 +21,7 @@
#include "pthreadP.h"
#include "atomic.h"
#include <sysdep.h>
+#include <unistd.h>
#include <bits/kernel-features.h>
@@ -74,10 +75,9 @@ pthread_cancel (
the thread is executing fork, it would have to happen in
a signal handler. But this is no allowed, pthread_cancel
is not guaranteed to be async-safe. */
+ pid_t pid = getpid ();
int val;
- val = INTERNAL_SYSCALL (tgkill, err, 3,
- THREAD_GETMEM (THREAD_SELF, pid), pd->tid,
- SIGCANCEL);
+ val = INTERNAL_SYSCALL (tgkill, err, 3, pid, pd->tid, SIGCANCEL);
if (INTERNAL_SYSCALL_ERROR_P (val, err))
result = INTERNAL_SYSCALL_ERRNO (val, err);