summaryrefslogtreecommitdiff
path: root/src/libenvexec/child_spawn1_socket.c
blob: 684842e37db7bc7f53e5fb0d33546caa1e10882c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* ISC license. */

#include <skalibs/socket.h>
#include <skalibs/cspawn.h>
#include "cspawn-internal.h"

pid_t child_spawn1_socket (char const *prog, char const *const *argv, char const *const *envp, int *fd)
{
  pid_t pid ;
  int p[2] ;
  if (ipc_pair_b(p) < 0) return 0 ;
  pid = child_spawn1_internal(prog, argv, envp, p, 3) ;
  if (!pid) return 0 ;
  *fd = p[0] ;
  return pid ;
}