aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2000-12-02 15:40:56 +0000
committerAndrew Cagney <cagney@redhat.com>2000-12-02 15:40:56 +0000
commit818fa2bf213eeaa57c3d4121832abc8b80f57a36 (patch)
tree981a9acd66b3641feab49c80f767753f3db2fc2b
parentab5ba170e9111446867b2f522686d6e0b2fe3de6 (diff)
downloadgdb-818fa2bf213eeaa57c3d4121832abc8b80f57a36.zip
gdb-818fa2bf213eeaa57c3d4121832abc8b80f57a36.tar.gz
gdb-818fa2bf213eeaa57c3d4121832abc8b80f57a36.tar.bz2
Add check for vfork() to configure.in. Cleanup uses.
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config.in3
-rwxr-xr-xgdb/configure2
-rw-r--r--gdb/configure.in2
-rw-r--r--gdb/fork-child.c12
-rw-r--r--gdb/ser-pipe.c4
6 files changed, 24 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 250b327..6e05b5e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+Sun Dec 3 02:28:26 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * ser-pipe.c (pipe_open): Only use vfork when available.
+ * fork-child.c (fork_inferior): Fix #ifdef HAVE_VFORK test.
+ (clone_and_follow_inferior): Ditto.
+
+ * configure.in (AC_CHECK_FUNCS): Check for vfork.
+ * configure, config.in: Regenerate.
+
Sun Dec 3 01:54:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
* ser-unix.c (wait_for): Initialize the FD_SET before every select
diff --git a/gdb/config.in b/gdb/config.in
index bfb15cd..f6f0031 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -225,6 +225,9 @@
/* Define if you have the strchr function. */
#undef HAVE_STRCHR
+/* Define if you have the vfork function. */
+#undef HAVE_VFORK
+
/* Define if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
diff --git a/gdb/configure b/gdb/configure
index f02de34..6786629 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -3557,7 +3557,7 @@ EOF
fi
-for ac_func in setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask
+for ac_func in setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask vfork
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:3564: checking for $ac_func" >&5
diff --git a/gdb/configure.in b/gdb/configure.in
index 2b14ac3..eb5a11f 100644
--- a/gdb/configure.in
+++ b/gdb/configure.in
@@ -129,7 +129,7 @@ AC_HEADER_STAT
AC_C_CONST
-AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
+AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask vfork)
AC_FUNC_ALLOCA
# See if machine/reg.h supports the %fs and %gs i386 segment registers.
diff --git a/gdb/fork-child.c b/gdb/fork-child.c
index 147a59f..e97f451 100644
--- a/gdb/fork-child.c
+++ b/gdb/fork-child.c
@@ -244,13 +244,13 @@ fork_inferior (char *exec_file, char *allargs, char **env,
if (pre_trace_fun != NULL)
(*pre_trace_fun) ();
-#if defined(USG) && !defined(HAVE_VFORK)
- pid = fork ();
-#else
+#ifdef HAVE_VFORK
if (debug_fork)
pid = fork ();
else
pid = vfork ();
+#else
+ pid = fork ();
#endif
if (pid < 0)
@@ -416,13 +416,13 @@ clone_and_follow_inferior (int child_pid, int *followed_child)
error ("error getting pipe for handoff semaphore");
/* Clone the debugger. */
-#if defined(USG) && !defined(HAVE_VFORK)
- debugger_pid = fork ();
-#else
+#ifdef HAVE_VFORK
if (debug_fork)
debugger_pid = fork ();
else
debugger_pid = vfork ();
+#else
+ debugger_pid = fork ();
#endif
if (debugger_pid < 0)
diff --git a/gdb/ser-pipe.c b/gdb/ser-pipe.c
index a510bff..fd073c2 100644
--- a/gdb/ser-pipe.c
+++ b/gdb/ser-pipe.c
@@ -64,7 +64,11 @@ pipe_open (serial_t scb, const char *name)
if (socketpair (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
return -1;
+#ifdef HAVE_VFORK
pid = vfork ();
+#else
+ pid = fork ();
+#endif
/* Error. */
if (pid == -1)