Extract function to listen on Unix socket

This commit is contained in:
Bryan Boreham committed 2016-02-01 10:11:46 +00:00
1 parent c2a869491f
commit 78f2d82984
3 files changed
+22 -11

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
package net
import (
"fmt"
"net"
"os"
)
func ListenUnixSocket(pathname string) (net.Listener, error) {
if err := os.Remove(pathname); err != nil && !os.IsNotExist(err) {
return nil, fmt.Errorf("Error removing existing unix socket: %s", err)
}
listener, err := net.Listen("unix", pathname)
if err != nil {
return nil, fmt.Errorf("ListenUnixSocket failed: %s", err)
}
return listener, nil
}
+2 -7
View File
@@ -11,6 +11,7 @@ import (
"github.com/docker/libnetwork/ipamapi"
. "github.com/weaveworks/weave/common"
"github.com/weaveworks/weave/common/docker"
weavenet "github.com/weaveworks/weave/net"
ipamplugin "github.com/weaveworks/weave/plugin/ipam"
netplugin "github.com/weaveworks/weave/plugin/net"
"github.com/weaveworks/weave/plugin/skel"
@@ -101,13 +102,7 @@ func listenAndServe(dockerClient *docker.Client, address string, noMulticastRout
}
}
var listener net.Listener
// remove sockets from last invocation
if err := os.Remove(address); err != nil && !os.IsNotExist(err) {
return nil, err
}
listener, err = net.Listen("unix", address)
listener, err := weavenet.ListenUnixSocket(address)
if err != nil {
return nil, err
}
+2 -4
View File
@@ -19,6 +19,7 @@ import (
docker "github.com/fsouza/go-dockerclient"
. "github.com/weaveworks/weave/common"
weavedocker "github.com/weaveworks/weave/common/docker"
weavenet "github.com/weaveworks/weave/net"
)
const (
@@ -296,10 +297,7 @@ func (proxy *Proxy) Serve(listeners []net.Listener) {
}
func (proxy *Proxy) ListenAndServeStatus(socket string) {
if err := os.Remove(socket); err != nil && !os.IsNotExist(err) {
Log.Fatalf("Error removing existing status socket: %s", err)
}
listener, err := net.Listen("unix", socket)
listener, err := weavenet.ListenUnixSocket(socket)
if err != nil {
Log.Fatalf("ListenAndServeStatus failed: %s", err)
}