#include "ser-unix.h"
#include <sys/types.h>
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
+#include "gdb_wait.h"
#include <sys/socket.h>
#include <sys/time.h>
#include <fcntl.h>
+#include <string.h>
#include "signals.h"
if (socketpair (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
return -1;
+#ifdef HAVE_VFORK
pid = vfork ();
+#else
+ pid = fork ();
+#endif
/* Error. */
if (pid == -1)
int pid = state->pid;
close (scb->fd);
scb->fd = -1;
- free (state);
+ xfree (state);
scb->state = NULL;
kill (pid, SIGTERM);
/* Might be useful to check that the child does die. */