|
|
@ -25,14 +25,16 @@ import ( |
|
|
|
"net" |
|
|
|
"net" |
|
|
|
"os" |
|
|
|
"os" |
|
|
|
"path/filepath" |
|
|
|
"path/filepath" |
|
|
|
|
|
|
|
"syscall" |
|
|
|
|
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/log" |
|
|
|
"github.com/ethereum/go-ethereum/log" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
const ( |
|
|
|
const ( |
|
|
|
// On Linux, sun_path is 108 bytes in size
|
|
|
|
// The limit of unix domain socket path diverse between OS, on Darwin it's 104 bytes
|
|
|
|
// see http://man7.org/linux/man-pages/man7/unix.7.html
|
|
|
|
// but on Linux it's 108 byte, so we should depend on syscall.RawSockaddrUnix's
|
|
|
|
maxPathSize = int(108) |
|
|
|
// definition dynamically
|
|
|
|
|
|
|
|
maxPathSize = len(syscall.RawSockaddrUnix{}.Path) |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// ipcListen will create a Unix socket on the given endpoint.
|
|
|
|
// ipcListen will create a Unix socket on the given endpoint.
|
|
|
|