discord/io_unix.go

29 lines
429 B
Go

//go:build !windows
package discord
import (
"errors"
"io/fs"
"net"
"syscall"
"time"
)
func (d *Client) dial() error {
if d.dialed {
panic("attempted to dial on open client")
}
if conn, err := net.DialTimeout("unix", sockPath()+"/discord-ipc-0", 5*time.Second); err != nil {
if errors.Is(err, fs.ErrNotExist) {
return syscall.EINTR
}
return err
} else {
d.conn = conn
d.dialed = true
}
return nil
}