diff --git a/libnetwork/Makefile b/libnetwork/Makefile index 10c4f14b7b..6edbf8da12 100644 --- a/libnetwork/Makefile +++ b/libnetwork/Makefile @@ -5,8 +5,8 @@ dockerargs = --privileged -v $(shell pwd):/go/src/github.com/docker/libnetwork - container_env = -e "INSIDECONTAINER=-incontainer=true" docker = docker run --rm -it ${dockerargs} $$EXTRA_ARGS ${container_env} ${build_image} ciargs = -e CIRCLECI -e "COVERALLS_TOKEN=$$COVERALLS_TOKEN" -e "INSIDECONTAINER=-incontainer=true" -cidocker = docker run ${dockerargs} ${ciargs} ${container_env} ${build_image} -CROSS_PLATFORMS = linux/amd64 linux/386 linux/arm windows/amd64 windows/386 solaris/amd64 solaris/386 +cidocker = docker run ${dockerargs} ${ciargs} $$EXTRA_ARGS ${container_env} ${build_image} +CROSS_PLATFORMS = linux/amd64 linux/386 linux/arm windows/amd64 all: ${build_image}.created build check integration-tests clean diff --git a/libnetwork/cmd/dnet/dnet.go b/libnetwork/cmd/dnet/dnet.go index 57408665d1..b7d5d970ad 100644 --- a/libnetwork/cmd/dnet/dnet.go +++ b/libnetwork/cmd/dnet/dnet.go @@ -22,7 +22,6 @@ import ( "github.com/docker/docker/pkg/reexec" "github.com/Sirupsen/logrus" - psignal "github.com/docker/docker/pkg/signal" "github.com/docker/docker/pkg/term" "github.com/docker/libnetwork" "github.com/docker/libnetwork/api" @@ -263,16 +262,6 @@ func (d *dnetConnection) dnetDaemon(cfgFile string) error { return http.ListenAndServe(d.addr, r) } -func setupDumpStackTrap() { - c := make(chan os.Signal, 1) - signal.Notify(c, syscall.SIGUSR1) - go func() { - for range c { - psignal.DumpStacks() - } - }() -} - func handleSignals(controller libnetwork.NetworkController) { c := make(chan os.Signal, 1) signals := []os.Signal{os.Interrupt, syscall.SIGTERM, syscall.SIGQUIT} diff --git a/libnetwork/cmd/dnet/dnet_linux.go b/libnetwork/cmd/dnet/dnet_linux.go new file mode 100644 index 0000000000..f0f4702b61 --- /dev/null +++ b/libnetwork/cmd/dnet/dnet_linux.go @@ -0,0 +1,19 @@ +package main + +import ( + "os" + "os/signal" + "syscall" + + psignal "github.com/docker/docker/pkg/signal" +) + +func setupDumpStackTrap() { + c := make(chan os.Signal, 1) + signal.Notify(c, syscall.SIGUSR1) + go func() { + for range c { + psignal.DumpStacks() + } + }() +} diff --git a/libnetwork/cmd/dnet/dnet_windows.go b/libnetwork/cmd/dnet/dnet_windows.go new file mode 100644 index 0000000000..338ae6dceb --- /dev/null +++ b/libnetwork/cmd/dnet/dnet_windows.go @@ -0,0 +1,28 @@ +package main + +import ( + "fmt" + "os" + "syscall" + + "github.com/Sirupsen/logrus" + "github.com/docker/docker/pkg/signal" + "github.com/docker/docker/pkg/system" +) + +// Copied over from docker/daemon/debugtrap_windows.go +func setupDumpStackTrap() { + go func() { + sa := syscall.SecurityAttributes{ + Length: 0, + } + ev := "Global\\docker-daemon-" + fmt.Sprint(os.Getpid()) + if h, _ := system.CreateEvent(&sa, false, false, ev); h != 0 { + logrus.Debugf("Stackdump - waiting signal at %s", ev) + for { + syscall.WaitForSingleObject(h, syscall.INFINITE) + signal.DumpStacks() + } + } + }() +} diff --git a/libnetwork/ipamutils/utils_solaris.go b/libnetwork/netutils/utils_solaris.go similarity index 83% rename from libnetwork/ipamutils/utils_solaris.go rename to libnetwork/netutils/utils_solaris.go index f6bbaefcd0..d0356f6262 100644 --- a/libnetwork/ipamutils/utils_solaris.go +++ b/libnetwork/netutils/utils_solaris.go @@ -1,10 +1,11 @@ -// Package ipamutils provides utililty functions for ipam management -package ipamutils +package netutils // Solaris: TODO import ( "net" + + "github.com/docker/libnetwork/ipamutils" ) // ElectInterfaceAddresses looks for an interface on the OS with the specified name @@ -17,7 +18,7 @@ func ElectInterfaceAddresses(name string) (*net.IPNet, []*net.IPNet, error) { err error ) - v4Net, err = FindAvailableNetwork(PredefinedBroadNetworks) + v4Net, err = FindAvailableNetwork(ipamutils.PredefinedBroadNetworks) if err != nil { return nil, nil, err }