summaryrefslogtreecommitdiff
path: root/src/process/waitpid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process/waitpid.c')
-rw-r--r--src/process/waitpid.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/process/waitpid.c b/src/process/waitpid.c
index ec2757b3..5e0320f7 100644
--- a/src/process/waitpid.c
+++ b/src/process/waitpid.c
@@ -1,7 +1,13 @@
#include <sys/wait.h>
#include "syscall.h"
+#include "libc.h"
pid_t waitpid(pid_t pid, int *status, int options)
{
- return syscall(SYS_wait4, pid, status, options, 0);
+ int r;
+ CANCELPT_BEGIN;
+ r = syscall(SYS_wait4, pid, status, options, 0);
+ if (r<0) CANCELPT_TRY;
+ CANCELPT_END;
+ return r;
}