URI:
       trunproc.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       trunproc.c (573B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <thread.h>
            4 #include <bio.h>
            5 #include <ndb.h>
            6 #include "dns.h"
            7 
            8 Waitmsg*
            9 runprocfd(char *file, char **v, int fd[3])
           10 {
           11         int pid, i;
           12 
           13         threadwaitchan();
           14         pid = threadspawn(fd, file, v);
           15         for(i=0; i<3; i++)
           16                 close(fd[i]);
           17         if(pid < 0)
           18                 return nil;
           19         return procwait(pid);
           20 }
           21 
           22 Waitmsg*
           23 runproc(char *file, char **v, int devnull)
           24 {
           25         int fd[3], i;
           26 
           27         if(devnull){
           28                 fd[0] = open("/dev/null", ORDWR);
           29                 fd[1] = dup(1, fd[0]);
           30                 fd[2] = dup(2, fd[0]);
           31         }else{
           32                 for(i=0; i<3; i++)
           33                         fd[i] = dup(i, -1);
           34         }
           35         return runprocfd(file, v, fd);
           36 }