github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/juju/sockets/sockets_nix.go (about) 1 // +build !windows 2 3 package sockets 4 5 import ( 6 "net" 7 "net/rpc" 8 "os" 9 ) 10 11 func Dial(socketPath string) (*rpc.Client, error) { 12 return rpc.Dial("unix", socketPath) 13 } 14 15 func Listen(socketPath string) (net.Listener, error) { 16 // In case the unix socket is present, delete it. 17 if err := os.Remove(socketPath); err != nil { 18 logger.Tracef("ignoring error on removing %q: %v", socketPath, err) 19 } 20 listener, err := net.Listen("unix", socketPath) 21 if err != nil { 22 logger.Errorf("failed to listen on unix:%s: %v", socketPath, err) 23 return nil, err 24 } 25 return listener, err 26 }