The man page talks about wait()ing for a *traced* child. That's not the
case here. The parent is wait()ing for strace itself, which is
definitely not a traced child.
In fact, if I comment out the "proc.communicate()" line, so no wait()
happens, the bug still occurs. So wait() is definitely a red herring.
(Sorry for not realising this sooner so that I could have given you a
more minimal example!)
If you change the demo script to send SIGTERM to strace, rather than
SIGINT, then problem still exists.
I used SIGINT because in the man page it says of the "-p" option:
begin tracing. The trace may be terminated at any
time by a keyboard interrupt signal (CTRL-C).
strace will respond by detaching itself from the
traced process(es) leaving it (them) to continue
running.
I expect that SIGTERM is treated identically, but that isn't documented,
whereas an interrupt signal is. All I really want is the behaviour that
is promised by that part of the man page: "strace will respond by
detaching itself from the traced process(es) leaving it (them) to
continue running."
--
strace leaves process SIGSTOPped after detaching
https://bugs.launchpad.net/bugs/103133
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs