* python/py-frame.c (frapy_block): Fix error message text.
[deliverable/binutils-gdb.git] / gdb / ser-pipe.c
index 7f719873db46cc9a7767b66a6397c8ef53ace329..b4ab672664e5b8fd3afd7ab325732069565fecf4 100644 (file)
@@ -1,6 +1,5 @@
 /* Serial interface for a pipe to a separate program
-   Copyright (C) 1999, 2000, 2001, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions.
 
@@ -30,7 +29,8 @@
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <fcntl.h>
-#include "gdb_string.h"
+#include <string.h>
+#include "filestuff.h"
 
 #include <signal.h>
 
@@ -64,9 +64,9 @@ pipe_open (struct serial *scb, const char *name)
   int err_pdes[2];
   int pid;
 
-  if (socketpair (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
+  if (gdb_socketpair_cloexec (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
     return -1;
-  if (socketpair (AF_UNIX, SOCK_STREAM, 0, err_pdes) < 0)
+  if (gdb_socketpair_cloexec (AF_UNIX, SOCK_STREAM, 0, err_pdes) < 0)
     {
       close (pdes[0]);
       close (pdes[1]);
@@ -123,14 +123,8 @@ pipe_open (struct serial *scb, const char *name)
          dup2 (err_pdes[1], STDERR_FILENO);
          close (err_pdes[1]);
        }
-#if 0
-      /* close any stray FD's - FIXME - how?  */
-      /* POSIX.2 B.3.2.2 "popen() shall ensure that any streams
-         from previous popen() calls that remain open in the 
-         parent process are closed in the new child process.  */
-      for (old = pidlist; old; old = old->next)
-       close (fileno (old->fp));       /* Don't allow a flush.  */
-#endif
+
+      close_most_fds ();
       execl ("/bin/sh", "sh", "-c", name, (char *) 0);
       _exit (127);
     }
@@ -202,7 +196,7 @@ gdb_pipe (int pdes[2])
   return -1;
 #else
 
-  if (socketpair (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
+  if (gdb_socketpair_cloexec (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
     return -1;
 
   /* If we don't do this, GDB simply exits when the remote side
This page took 0.023728 seconds and 4 git commands to generate.