If we use -D and -p option together to trace a multi-thread program, in
addition 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@cn.fujitsu.com>
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;