From: Dirk Mueller Date: Tue, 26 Aug 2003 17:36:26 +0000 (+0000) Subject: implement waitpid syscall. Patch by Benjamin Lee X-Git-Tag: svn/VALGRIND_2_1_0~212 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4d7ce5006f2698ed11fd2c862d03e2ea34b87ab7;p=thirdparty%2Fvalgrind.git implement waitpid syscall. Patch by Benjamin Lee git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1806 --- diff --git a/coregrind/vg_syscalls.c b/coregrind/vg_syscalls.c index 6d5885d7e3..3fd6090d1e 100644 --- a/coregrind/vg_syscalls.c +++ b/coregrind/vg_syscalls.c @@ -3343,6 +3343,21 @@ void VG_(perform_assumed_nonblocking_syscall) ( ThreadId tid ) } break; + case __NR_waitpid: /* syscall 7 */ + /* pid_t waitpid(pid_t pid, int *status, int options); */ + + MAYBE_PRINTF("waitpid ( %d, %p, %d )\n", + arg1,arg2,arg3); + if (arg2 != (Addr)NULL) + SYSCALL_TRACK( pre_mem_write, tid, "waitpid(status)", + arg2, sizeof(int) ); + KERNEL_DO_SYSCALL(tid,res); + if (!VG_(is_kerror)(res)) { + if (arg2 != (Addr)NULL) + VG_TRACK( post_mem_write, arg2, sizeof(int) ); + } + break; + case __NR_writev: { /* syscall 146 */ /* int writev(int fd, const struct iovec * vector, size_t count); */ UInt i;