Files
weave/prog/weavewait/main.go
T

42 lines
582 B
Go

package main
import (
"fmt"
"os"
"os/exec"
"os/signal"
"syscall"
"github.com/weaveworks/weave/net"
)
func main() {
if len(os.Args) <= 1 {
os.Exit(0)
}
args := os.Args[1:]
if args[0] == "-s" {
args = args[1:]
} else {
usr2 := make(chan os.Signal)
signal.Notify(usr2, syscall.SIGUSR2)
<-usr2
}
_, err := net.EnsureInterface("ethwe", -1)
checkErr(err)
binary, err := exec.LookPath(args[0])
checkErr(err)
checkErr(syscall.Exec(binary, args, os.Environ()))
}
func checkErr(err error) {
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}