diff options
author | Roland McGrath <roland@redhat.com> | 2003-04-08 01:46:48 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2003-04-08 01:46:48 +0000 |
commit | 8477647c4b3c04c6fc4adb0dc76221d319008296 (patch) | |
tree | 1baf4879e70954e992d46a79912750c672819463 /ipc.c | |
parent | cf43e9036289b3d92ee2e824b012ff14f4bcdb40 (diff) | |
download | strace-8477647c4b3c04c6fc4adb0dc76221d319008296.tar.gz strace-8477647c4b3c04c6fc4adb0dc76221d319008296.tar.bz2 strace-8477647c4b3c04c6fc4adb0dc76221d319008296.tar.xz |
2003-04-07 Roland McGrath <roland@redhat.com>
* linux/syscallent.h: Handle semtimedop subcall of ipc syscall.
* linux/syscall.h: Likewise.
* ipc.c [LINUX] (sys_semtimedop): New function.
From Ulrich Drepper <drepper@redhat.com>.
* ipc.c (sys_semget): Mask off permission bits for resource_flags.
From Ulrich Drepper <drepper@redhat.com>.
Diffstat (limited to 'ipc.c')
-rw-r--r-- | ipc.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -261,6 +261,20 @@ struct tcb *tcp; return 0; } +#ifdef LINUX +int sys_semtimedop(tcp) +struct tcb *tcp; +{ + if (entering(tcp)) { + tprintf("%lu", tcp->u_arg[0]); + tprintf(", %#lx", tcp->u_arg[3]); + tprintf(", %lu, ", tcp->u_arg[1]); + printtv(tcp, tcp->u_arg[5]); + } + return 0; +} +#endif + int sys_semget(tcp) struct tcb *tcp; { @@ -271,7 +285,7 @@ struct tcb *tcp; tprintf("IPC_PRIVATE"); tprintf(", %lu", tcp->u_arg[1]); tprintf(", "); - if (printflags(resource_flags, tcp->u_arg[2]) != 0) + if (printflags(resource_flags, tcp->u_arg[2] & ~0666) != 0) tprintf("|"); tprintf("%#lo", tcp->u_arg[2] & 0666); } |