| Index: gdb/testsuite/gdb.base/inferior-died.c
|
| diff --git a/gdb/testsuite/gdb.base/relativedebug.c b/gdb/testsuite/gdb.base/inferior-died.c
|
| similarity index 70%
|
| copy from gdb/testsuite/gdb.base/relativedebug.c
|
| copy to gdb/testsuite/gdb.base/inferior-died.c
|
| index af8e2159e846a2be4c54de711f4d00746e09abff..ce9dcea8e31e0f62380ecc6ffc74b045dbc990a5 100644
|
| --- a/gdb/testsuite/gdb.base/relativedebug.c
|
| +++ b/gdb/testsuite/gdb.base/inferior-died.c
|
| @@ -1,6 +1,6 @@
|
| -/* This testcase is part of GDB, the GNU debugger.
|
| +/* Test for fork-related gdb bug
|
|
|
| - Copyright 2007-2012 Free Software Foundation, Inc.
|
| + Copyright 2012 Free Software Foundation, Inc.
|
|
|
| This program is free software; you can redistribute it and/or modify
|
| it under the terms of the GNU General Public License as published by
|
| @@ -13,23 +13,25 @@
|
| GNU General Public License for more details.
|
|
|
| You should have received a copy of the GNU General Public License
|
| - along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
| + along with this program. If not, see <http://www.gnu.org/licenses/>.
|
| +*/
|
|
|
| -#include <unistd.h>
|
| #include <stdlib.h>
|
| -#include <signal.h>
|
| -
|
| +#include <sys/types.h>
|
| +#include <unistd.h>
|
|
|
| -static void handler (int signo)
|
| +void function(void)
|
| {
|
| - abort ();
|
| + exit (0); /* Break here */
|
| }
|
|
|
| -int main (void)
|
| +int main()
|
| {
|
| - signal (SIGALRM, handler);
|
| - alarm (1);
|
| - pause ();
|
| - pause ();
|
| - return 0;
|
| + pid_t child = fork ();
|
| +
|
| + if (child == 0)
|
| + function ();
|
| + else
|
| + waitpid (child, NULL, 0);
|
| + return 0;
|
| }
|
|
|