The ptrace setoptions code will fork a child which goes to sleep and
expects the parent to continue on to do tests.  Unfortunately, this
does not work on no-mmu systems as fork() is actually vfork() and any
vforked children will hang the parent until it exits or execs.

We might be able to make this test work on no-mmu systems with a bit
of work, but easier to just disable this for the release so it works
now.

* strace.c (test_ptrace_setoptions_for_all): Return if strace_vforked.

Signed-off-by: Mike Frysinger <[email protected]>
---
 strace.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/strace.c b/strace.c
index 3ad037d..1097b0c 100644
--- a/strace.c
+++ b/strace.c
@@ -1285,6 +1285,10 @@ test_ptrace_setoptions_for_all(void)
        int pid;
        int it_worked = 0;
 
+       /* this fork test doesn't work on no-mmu systems */
+       if (strace_vforked)
+               return;
+
        pid = fork();
        if (pid < 0)
                perror_msg_and_die("fork");
-- 
1.7.8.5


------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to