diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d123a3a3f3..5dd055385d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2018-04-10 Pedro Alves + + * gdb.base/fork-running-state.c (fork_child): Don't exit if parent + exits. Instead loop running forever. + (fork_parent): Run forever too. + 2018-04-07 Simon Marchi * gdb.mi/mi-stack.exp (test_stack_frame_listing): Use diff --git a/gdb/testsuite/gdb.base/fork-running-state.c b/gdb/testsuite/gdb.base/fork-running-state.c index 233b515831..8ea4739609 100644 --- a/gdb/testsuite/gdb.base/fork-running-state.c +++ b/gdb/testsuite/gdb.base/fork-running-state.c @@ -28,30 +28,18 @@ static int fork_child (void) { while (1) - { - sleep (1); - - /* Exit if GDB kills the parent. */ - if (getppid () != save_parent) - break; - if (kill (getppid (), 0) != 0) - break; - } + pause (); return 0; } -/* The fork parent. Just runs forever waiting for the child to - exit. */ +/* The fork parent. Just runs forever. */ static int fork_parent (void) { - if (wait (NULL) == -1) - { - perror ("wait"); - return 1; - } + while (1) + pause (); return 0; }