[PATCH] Forbid using -D and -p option together

Wang Chao wang.chao at cn.fujitsu.com
Thu Aug 5 06:30:11 UTC 2010


If we use -D and -p option together to trace a multi-thread program, in
addtion to the main thread, other threads could not be traced even if we
present -f option. Moreover, when executing 'strace -D -p <non-exist pid>',
strace could not terminate normally.

* strace.c (main): Check it.

Signed-off-by: Wang Chao <wang.chao at cn.fujitsu.com>
---
 strace.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/strace.c b/strace.c
index 21febb3..3505948 100644
--- a/strace.c
+++ b/strace.c
@@ -846,6 +846,13 @@ main(int argc, char *argv[])
 	if ((optind == argc) == !pflag_seen)
 		usage(stderr, 1);
 
+	if (pflag_seen && daemonized_tracer) {
+		fprintf(stderr,
+			"%s: -D and -p are mutually exclusive options\n",
+			progname);
+		exit(1);
+	}
+
 	if (!followfork)
 		followfork = optF;
 
-- 
1.6.5.2





More information about the Strace-devel mailing list