diff options
Diffstat (limited to 'libpthread/nptl/sysdeps/pthread/createthread.c')
-rw-r--r-- | libpthread/nptl/sysdeps/pthread/createthread.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libpthread/nptl/sysdeps/pthread/createthread.c b/libpthread/nptl/sysdeps/pthread/createthread.c index ebfee16f9..550bf2cfe 100644 --- a/libpthread/nptl/sysdeps/pthread/createthread.c +++ b/libpthread/nptl/sysdeps/pthread/createthread.c @@ -91,6 +91,7 @@ do_clone (struct pthread *pd, const struct pthread_attr *attr, if (__builtin_expect (stopped != 0, 0)) { INTERNAL_SYSCALL_DECL (err); + pid_t pid = getpid (); int res = 0; /* Set the affinity mask if necessary. */ @@ -105,9 +106,7 @@ do_clone (struct pthread *pd, const struct pthread_attr *attr, send it the cancellation signal. */ INTERNAL_SYSCALL_DECL (err2); err_out: - (void) INTERNAL_SYSCALL (tgkill, err2, 3, - THREAD_GETMEM (THREAD_SELF, pid), - pd->tid, SIGCANCEL); + (void) INTERNAL_SYSCALL (tgkill, err2, 3, pid, pd->tid, SIGCANCEL); return (INTERNAL_SYSCALL_ERROR_P (res, err) ? INTERNAL_SYSCALL_ERRNO (res, err) |