2008-04-19 Dmitry V. Levin <ldv@altlinux.org>
* desc.c (sys_fcntl): Do not initialize auxstr for failed syscall.
* process.c (sys_fork, sys_rfork) [USE_PROCFS]: Likewise.
* signal.c (sys_signal): Likewise.
* stream.c (internal_stream_ioctl): Likewise.
* time.c (sys_adjtimex): Likewise.
* syscall.c (trace_syscall): If RVAL_STR is set, then
print auxstr for failed syscall as well.
diff --git a/process.c b/process.c
index bb6164f..cd938e5 100644
--- a/process.c
+++ b/process.c
@@ -498,7 +498,7 @@
sys_fork(tcp)
struct tcb *tcp;
{
- if (exiting(tcp)) {
+ if (exiting(tcp) && !syserror(tcp)) {
if (getrval2(tcp)) {
tcp->auxstr = "child process";
return RVAL_UDECIMAL | RVAL_STR;
@@ -516,7 +516,7 @@
if (entering(tcp)) {
tprintf ("%ld", tcp->u_arg[0]);
}
- else {
+ else if (!syserror(tcp)) {
if (getrval2(tcp)) {
tcp->auxstr = "child process";
return RVAL_UDECIMAL | RVAL_STR;