Fix execve handling
Andreas Schwab
schwab at suse.de
Mon Jun 28 05:02:10 UTC 2004
This moves the setting of TCB_WAITEXECVE from sys_execve to internal_exec,
so that it is handled even when execve is not explicitly traced.
Andreas.
2004-06-28 Andreas Schwab <schwab at suse.de>
* process.c (internal_exec): Move TCB_WAITEXECVE handling here.
(sys_execve): Remove it here.
--- process.c
+++ process.c
@@ -1706,12 +1706,6 @@
tprintf("]");
}
}
-#if defined LINUX && defined TCB_WAITEXECVE
- if (exiting(tcp) && syserror(tcp))
- tcp->flags &= ~TCB_WAITEXECVE;
- else
- tcp->flags |= TCB_WAITEXECVE;
-#endif /* LINUX && TCB_WAITEXECVE */
return 0;
}
@@ -1737,6 +1731,12 @@
if (exiting(tcp) && !syserror(tcp) && followfork)
fixvfork(tcp);
#endif /* SUNOS4 */
+#if defined LINUX && defined TCB_WAITEXECVE
+ if (exiting(tcp) && syserror(tcp))
+ tcp->flags &= ~TCB_WAITEXECVE;
+ else
+ tcp->flags |= TCB_WAITEXECVE;
+#endif /* LINUX && TCB_WAITEXECVE */
return 0;
}
--
Andreas Schwab, SuSE Labs, schwab at suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Strace-devel
mailing list