update runtime to function

This commit is contained in:
Asim Aslam
2019-09-13 21:33:14 -07:00
parent ef86c9625b
commit 0fc4c180ee
4 changed files with 280 additions and 4 deletions

View File

@@ -19,10 +19,11 @@ func (p *Process) Exec(exe *process.Executable) error {
}
func (p *Process) Fork(exe *process.Executable) (*process.PID, error) {
cmd := exec.Command(exe.Binary.Path)
if err := cmd.Start(); err != nil {
return nil, err
}
// create command
cmd := exec.Command(exe.Binary.Path, exe.Args...)
// set env vars
cmd.Env = append(cmd.Env, exe.Env...)
in, err := cmd.StdinPipe()
if err != nil {
return nil, err
@@ -36,6 +37,11 @@ func (p *Process) Fork(exe *process.Executable) (*process.PID, error) {
return nil, err
}
// start the process
if err := cmd.Start(); err != nil {
return nil, err
}
return &process.PID{
ID: fmt.Sprintf("%d", cmd.Process.Pid),
Input: in,