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  }