#include <sys/wait.h>
#include "syscall.h"
+#include "libc.h"
pid_t waitpid(pid_t pid, int *status, int options)
{
- return syscall4(__NR_wait4, pid, (long)status, options, 0);
+ int r;
+ CANCELPT_BEGIN;
+ r = syscall(SYS_wait4, pid, status, options, 0);
+ if (r<0) CANCELPT_TRY;
+ CANCELPT_END;
+ return r;
}