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

#include <unistd.h>

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

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