m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-08 11:23:47 -05:00

Improve Unix domain socket handling

- Check if the file is in use
- Change the permission to 0600
This commit is contained in:
Junegunn Choi
2025-10-09 13:52:10 +09:00
parent 0cb1be3f04
commit bf77206221

View File

@@ -89,11 +89,19 @@ func startHttpServer(address listenAddress, actionChannel chan []*action, getHan
var listener net.Listener
var err error
if len(address.sock) > 0 {
os.Remove(address.sock)
if _, err := os.Stat(address.sock); err == nil {
// Check if the socket is already in use
if conn, err := net.Dial("unix", address.sock); err == nil {
conn.Close()
return nil, 0, fmt.Errorf("socket already in use: %s", address.sock)
}
os.Remove(address.sock)
}
listener, err = net.Listen("unix", address.sock)
if err != nil {
return nil, 0, fmt.Errorf("failed to listen on %s", address.sock)
}
os.Chmod(address.sock, 0600)
} else {
addrStr := fmt.Sprintf("%s:%d", host, port)
listener, err = net.Listen("tcp", addrStr)