close (sv[0]); close (sv[1]);
close (pin[0]); close (pin[1]); close (pout[0]); close (pout[1]);
static int tunnel_socket_open (CONNECTION *conn){  TUNNEL_DATA* tunnel = (TUNNEL_DATA*) conn->sockdata;  int pid;  int rc;  int sv[2];  mutt_message (_("Connecting with \"%s\"..."), Tunnel);  rc = socketpair (PF_UNIX, SOCK_STREAM, IPPROTO_IP, sv);  if (rc == -1)  {    mutt_perror ("socketpair");    return -1;  }  mutt_block_signals_system ();  if ((pid = fork ()) == 0)  {    mutt_unblock_signals_system (0);    if (close (sv[0]) < 0 ||	dup2 (sv[1], STDIN_FILENO) < 0 ||	dup2 (sv[1], STDOUT_FILENO) < 0 ||	close (STDERR_FILENO) ||	close (sv[1]) < 0)      _exit (127);    /* Don't let the subprocess think it can use the controlling tty */    setsid ();    execl (EXECSHELL, "sh", "-c", Tunnel, NULL);    _exit (127);  }  mutt_unblock_signals_system (1);  if (pid == -1)  {    close (sv[0]);    close (sv[1]);    mutt_perror ("fork");    return -1;  }  if (close(sv[1]) < 0)    mutt_perror ("close");  conn->fd = sv[0];  tunnel->pid = pid;  return 0;}