+2013-08-29 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR server/15604
+ * linux-low.c
+ (linux_create_inferior) <pid == 0 && !remote_connection_is_stdio ()>:
+ Close LISTEN_DESC and optionally REMOTE_DESC.
+ (lynx_create_inferior) <pid == 0 && !remote_connection_is_stdio ()>:
+ Close LISTEN_DESC and optionally REMOTE_DESC.
+ * remote-utils.c (remote_desc, listen_desc): Remove static qualifier.
+ * server.h (remote_desc, listen_desc): New declaration.
+ * spu-low.c
+ (spu_create_inferior) <pid == 0 && !remote_connection_is_stdio ()>:
+ Close LISTEN_DESC and optionally REMOTE_DESC.
+
2013-05-31 Doug Evans <dje@google.com>
PR server/15594
/* Errors ignored. */;
}
}
+ else
+ {
+ close (listen_desc);
+ if (gdb_connected ())
+ close (remote_desc);
+ }
execv (program, allargs);
if (errno == ENOENT)
pgrp = getpid();
setpgid (0, pgrp);
ioctl (0, TIOCSPGRP, &pgrp);
+ if (!remote_connection_is_stdio ())
+ {
+ close (listen_desc);
+ if (gdb_connected ())
+ close (remote_desc);
+ }
lynx_ptrace (PTRACE_TRACEME, null_ptid, 0, 0, 0);
execv (program, allargs);
fprintf (stderr, "Cannot exec %s: %s.\n", program, strerror (errno));
static int remote_is_stdio = 0;
-static gdb_fildes_t remote_desc = INVALID_DESCRIPTOR;
-static gdb_fildes_t listen_desc = INVALID_DESCRIPTOR;
+gdb_fildes_t remote_desc = INVALID_DESCRIPTOR;
+gdb_fildes_t listen_desc = INVALID_DESCRIPTOR;
/* FIXME headerize? */
extern int using_threads;
/* From remote-utils.c */
extern int remote_debug;
+extern gdb_fildes_t remote_desc;
+extern gdb_fildes_t listen_desc;
extern int noack_mode;
extern int transport_is_reliable;
if (pid == 0)
{
+ if (!remote_connection_is_stdio ())
+ {
+ close (listen_desc);
+ if (gdb_connected ())
+ close (remote_desc);
+ }
ptrace (PTRACE_TRACEME, 0, 0, 0);
setpgid (0, 0);