1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
package varlink
import (
"github.com/varlink/go/varlink/internal/ctxio"
"io"
"os/exec"
)
// NewBridgeWithStderr returns a new connection with the given bridge.
func NewBridgeWithStderr(bridge string, stderr io.Writer) (*Connection, error) {
c := Connection{}
cmd := exec.Command("cmd", "/C", bridge)
cmd.Stderr = stderr
r, err := cmd.StdoutPipe()
if err != nil {
return nil, err
}
w, err := cmd.StdinPipe()
if err != nil {
return nil, err
}
c.conn = ctxio.NewConn(PipeCon{cmd, r, w})
c.address = ""
err = cmd.Start()
if err != nil {
return nil, err
}
return &c, nil
}
|