* config.in, configure: Regenerated.
authorDaniel Jacobowitz <drow@false.org>
Thu, 2 Sep 2010 17:12:38 +0000 (17:12 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 2 Sep 2010 17:12:38 +0000 (17:12 +0000)
* configure.ac: Check for waitpid.
* ser-pipe.c (pipe_close): Wait for the program to exit.

gdb/ChangeLog
gdb/config.in
gdb/configure
gdb/configure.ac
gdb/ser-pipe.c

index cf7f2bd4128d6d4c3f728ed91a3c46afca1c3080..701952349cab7f2bceefd1bfde80a3c6c1e4adb9 100644 (file)
@@ -1,3 +1,9 @@
+2010-09-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config.in, configure: Regenerated.
+       * configure.ac: Check for waitpid.
+       * ser-pipe.c (pipe_close): Wait for the program to exit.
+
 2010-09-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * cli-logging.c: Include gdb_assert.h.
index 76591812c39034fc70910a631ea831cc6122ef19..173cd3d8b47aee89599d45146b6790c12e4364dc 100644 (file)
 /* Define to 1 if you have the <vfork.h> header file. */
 #undef HAVE_VFORK_H
 
+/* Define to 1 if you have the `waitpid' function. */
+#undef HAVE_WAITPID
+
 /* Define to 1 if you have the <wait.h> header file. */
 #undef HAVE_WAIT_H
 
index 5563baed66af9989573073fffe526ab7932e598d..2c7db685a5442f4280ce8b45333e97db7d7b2066 100755 (executable)
@@ -12550,7 +12550,7 @@ for ac_func in canonicalize_file_name realpath getrusage getuid \
                getgid pipe poll pread64 resize_term sbrk setpgid setpgrp setsid \
                sigaction sigprocmask sigsetmask socketpair syscall \
                ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
-               setrlimit getrlimit posix_madvise
+               setrlimit getrlimit posix_madvise waitpid
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
index 4b779aafc4c9ed6e72fa220493e743d2653b3f1d..2f8090e512a9e7be915138bd8e0181c9b7c8d2b4 100644 (file)
@@ -962,7 +962,7 @@ AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
                getgid pipe poll pread64 resize_term sbrk setpgid setpgrp setsid \
                sigaction sigprocmask sigsetmask socketpair syscall \
                ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
-               setrlimit getrlimit posix_madvise])
+               setrlimit getrlimit posix_madvise waitpid])
 AM_LANGINFO_CODESET
 
 # Check the return and argument types of ptrace.  No canned test for
index d26dc4fa497fc053d3f37691aa3ea171c3312d93..5b439f7c3687d77f83be9d5c8d7b2ec0c5558c5b 100644 (file)
@@ -31,6 +31,7 @@
 #include <sys/time.h>
 #include <fcntl.h>
 #include "gdb_string.h"
+#include "gdb_wait.h"
 
 #include <signal.h>
 
@@ -162,11 +163,14 @@ pipe_close (struct serial *scb)
 
   if (state != NULL)
     {
+      int status;
       kill (state->pid, SIGTERM);
-      /* Might be useful to check that the child does die,
-        and while we're waiting for it to die print any remaining
-        stderr output.  */
-
+#ifdef HAVE_WAITPID
+      /* Assume the program will exit after SIGTERM.  Might be
+        useful to print any remaining stderr output from
+        scb->error_fd while waiting.  */
+      waitpid (state->pid, &status, 0);
+#endif
       if (scb->error_fd != -1)
        close (scb->error_fd);
       scb->error_fd = -1;