aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/pipewire/pipewire.go9
-rw-r--r--internal/pipewire/securitycontext.go22
2 files changed, 25 insertions, 6 deletions
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go
index 9357c565..57cfefb5 100644
--- a/internal/pipewire/pipewire.go
+++ b/internal/pipewire/pipewire.go
@@ -185,7 +185,8 @@ type unixConn struct {
// Dial connects to a Unix domain socket described by name.
func Dial(name string) (Conn, error) {
if fd, err := syscall.Socket(
- syscall.AF_UNIX, syscall.SOCK_STREAM|syscall.SOCK_CLOEXEC|syscall.SOCK_NONBLOCK,
+ syscall.AF_UNIX,
+ syscall.SOCK_STREAM|syscall.SOCK_CLOEXEC|syscall.SOCK_NONBLOCK,
0,
); err != nil {
return nil, os.NewSyscallError("socket", err)
@@ -194,7 +195,11 @@ func Dial(name string) (Conn, error) {
&syscall.SockaddrUnix{Name: name},
); err != nil {
_ = syscall.Close(fd)
- return nil, os.NewSyscallError("connect", err)
+ return nil, &os.PathError{
+ Op: "connect",
+ Path: name,
+ Err: err,
+ }
} else {
return &unixConn{fd: fd}, nil
}
diff --git a/internal/pipewire/securitycontext.go b/internal/pipewire/securitycontext.go
index f277a99e..06e8c448 100644
--- a/internal/pipewire/securitycontext.go
+++ b/internal/pipewire/securitycontext.go
@@ -192,14 +192,24 @@ func (securityContext *SecurityContext) BindAndCreate(pathname string, props SPA
scc.pathname = pathname
var listenFd int
- if fd, err := syscall.Socket(syscall.AF_UNIX, syscall.SOCK_STREAM|syscall.SOCK_CLOEXEC, 0); err != nil {
+ if fd, err := syscall.Socket(
+ syscall.AF_UNIX,
+ syscall.SOCK_STREAM|syscall.SOCK_CLOEXEC,
+ 0,
+ ); err != nil {
return nil, os.NewSyscallError("socket", err)
} else {
securityContext.ctx.cleanup(func() error { return syscall.Close(fd) })
listenFd = fd
}
- if err := syscall.Bind(listenFd, &syscall.SockaddrUnix{Name: pathname}); err != nil {
- return nil, os.NewSyscallError("bind", err)
+ if err := syscall.Bind(listenFd, &syscall.SockaddrUnix{
+ Name: pathname,
+ }); err != nil {
+ return nil, &os.PathError{
+ Op: "bind",
+ Path: pathname,
+ Err: err,
+ }
} else if err = syscall.Listen(listenFd, 0); err != nil {
_ = os.Remove(pathname)
return nil, os.NewSyscallError("listen", err)
@@ -211,7 +221,11 @@ func (securityContext *SecurityContext) BindAndCreate(pathname string, props SPA
}
runtime.SetFinalizer(&scc, (*securityContextCloser).Close)
- if err := securityContext.Create(listenFd, scc.closeFds[1], props); err != nil {
+ if err := securityContext.Create(
+ listenFd,
+ scc.closeFds[1],
+ props,
+ ); err != nil {
_ = scc.Close()
return nil, err
}