tprintf("%ld, ", tcp->u_arg[0]);
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
tprintf(", %lu, %ld, ", tcp->u_arg[2], tcp->u_arg[3]);
- printtv(tcp, tcp->u_arg[4]);
+ print_timespec(tcp, tcp->u_arg[4]);
return RVAL_DECODED;
}
else {
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
tprintf(", %lu, %ld, ", tcp->u_arg[2], tcp->u_arg[3]);
- printtv(tcp, tcp->u_arg[4]);
+ /*
+ * Since the timeout parameter is read by the kernel
+ * on entering syscall, it has to be decoded the same way
+ * whether the syscall has failed or not.
+ */
+ temporarily_clear_syserror(tcp);
+ print_timespec(tcp, tcp->u_arg[4]);
+ restore_cleared_syserror(tcp);
}
return 0;
}
SYS_FUNC(mq_notify)
{
tprintf("%ld, ", tcp->u_arg[0]);
- printsigevent(tcp, tcp->u_arg[1]);
+ print_sigevent(tcp, tcp->u_arg[1]);
return RVAL_DECODED;
}