aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/system.c')
-rw-r--r--sysdeps/unix/sysv/linux/i386/system.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/system.c b/sysdeps/unix/sysv/linux/i386/system.c
index c7287e473e..69eb2cd2ad 100644
--- a/sysdeps/unix/sysv/linux/i386/system.c
+++ b/sysdeps/unix/sysv/linux/i386/system.c
@@ -54,9 +54,11 @@ static void cancel_handler (void *arg);
static void
cancel_handler (void *arg)
{
- __kill (SIGKILL, *(pid_t *) arg);
+ pid_t child = *(pid_t *) arg;
- TEMP_FAILURE_RETRY (__waitpid (*(pid_t *) arg, NULL, 0));
+ INTERNAL_SYSCALL (kill, 2, child, SIGKILL);
+
+ TEMP_FAILURE_RETRY (__waitpid (child, NULL, 0));
DO_LOCK ();