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/signal.c b/signal.c
index ed413ad..7f43063 100644
--- a/signal.c
+++ b/signal.c
@@ -1199,7 +1199,7 @@
 		}
 		return 0;
 	}
-	else {
+	else if (!syserror(tcp)) {
 		switch (tcp->u_rval) {
 		    case (long) SIG_ERR:
 			tcp->auxstr = "SIG_ERR"; break;
@@ -1212,6 +1212,7 @@
 		}
 		return RVAL_HEX | RVAL_STR;
 	}
+	return 0;
 }
 
 #ifdef SVR4