From: John Hughes Date: Thu, 18 Oct 2001 14:48:26 +0000 (+0000) Subject: handle sigwait on svr4 X-Git-Tag: v4.5.18~1007 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=421620897008f94f44475286d92c8723dcaf4368;p=strace handle sigwait on svr4 --- diff --git a/ChangeLog b/ChangeLog index 930e8f0c..f0bf4b38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2001-10-18 John Hughes + + * signal.c: handle sigwait + * svr4/dummy.c: Move sigwait to done + * svr4/syscall.h: handle sigwait + 2001-10-16 John Hughes * system.c(sys_ssisys): decode some args for ssisys. diff --git a/signal.c b/signal.c index d4c62938..df647042 100644 --- a/signal.c +++ b/signal.c @@ -1280,6 +1280,26 @@ struct tcb *tcp; return 0; } +int sys_sigwait(tcp) +struct tcb *tcp; +{ + sigset_t sigset; + + if (entering(tcp)) { + if (copy_sigset(tcp, tcp->u_arg[0], &sigset) < 0) + tprintf("[?]"); + else + printsigmask(&sigset, 0); + } + else { + if (!syserror(tcp)) { + tcp->auxstr = signalent[tcp->u_rval]; + return RVAL_DECIMAL | RVAL_STR; + } + } + return 0; +} + #ifdef LINUX int diff --git a/svr4/dummy.h b/svr4/dummy.h index 6a12cd5d..d1a5e542 100644 --- a/svr4/dummy.h +++ b/svr4/dummy.h @@ -171,7 +171,6 @@ #define sys_unblock printargs #define sys_cancelblock printargs #define sys_lwpkill printargs -#define sys_sigwait printargs #define sys_modload printargs #define sys_moduload printargs #define sys_modpath printargs @@ -306,6 +305,7 @@ #define sys_kaio printargs #if DONE +#define sys_sigwait printargs #define sys_mount printargs #define sys_sysinfo printargs #define sys_sysconfig printargs diff --git a/svr4/syscall.h b/svr4/syscall.h index 22b55f12..b06f3052 100644 --- a/svr4/syscall.h +++ b/svr4/syscall.h @@ -305,6 +305,7 @@ extern int sys_aclipc(); extern int sys_door(); #endif #if UNIXWARE >= 2 +extern int sys_sigwait(); extern int sys_truncate(); extern int sys_ftruncate(); extern int sys_getksym ();