2008-04-19 Dmitry V. Levin <[EMAIL PROTECTED]> * desc.c (decode_select): Decode timeout for interrupted syscall. * syscall.c (trace_syscall): Fix ERESTART* decode output. --- strace/desc.c | 7 +++++++ strace/syscall.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-)
--- a/strace/desc.c +++ b/strace/desc.c @@ -464,6 +464,13 @@ decode_select(struct tcb *tcp, long *args, enum bitness_t bitness) unsigned int cumlen = 0; char *sep = ""; + if (args[4] && is_restart_error(tcp)) { + strcpy(outstr, "left "); + sprinttv(tcp, args[4], bitness, outstr + strlen(outstr)); + tcp->auxstr = outstr; + return RVAL_STR; + } + if (syserror(tcp)) return 0; --- a/strace/syscall.c +++ b/strace/syscall.c @@ -2344,16 +2344,16 @@ trace_syscall(struct tcb *tcp) switch (u_error) { #ifdef LINUX case ERESTARTSYS: - tprintf("= ? ERESTARTSYS (To be restarted)"); + tprintf("= -1 ERESTARTSYS (To be restarted)"); break; case ERESTARTNOINTR: - tprintf("= ? ERESTARTNOINTR (To be restarted)"); + tprintf("= -1 ERESTARTNOINTR (To be restarted)"); break; case ERESTARTNOHAND: - tprintf("= ? ERESTARTNOHAND (To be restarted)"); + tprintf("= -1 ERESTARTNOHAND (To be restarted)"); break; case ERESTART_RESTARTBLOCK: - tprintf("= ? ERESTART_RESTARTBLOCK (To be restarted)"); + tprintf("= -1 ERESTART_RESTARTBLOCK (To be restarted)"); break; #endif /* LINUX */ default: -- ldv
pgpmywfOxi76Z.pgp
Description: PGP signature
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel