diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-12-18 23:32:51 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-12-18 23:33:12 +0900 |
| commit | 08bdc68f3a00fadad3eb196d08f328722bc7504c (patch) | |
| tree | 0083769edecefcf95decae50875310061b06d752 /internal | |
| parent | 8cb0b433b283e7b6e4aa258d408d116d891e279f (diff) | |
internal/pipewire: sendmsg/recvmsg errors are fatal
When returned wrapped as a syscall error, these are impossible to recover from, so wrap them as a fatal error.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/pipewire/pipewire.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go index 7b11ed35..d190eb64 100644 --- a/internal/pipewire/pipewire.go +++ b/internal/pipewire/pipewire.go @@ -310,7 +310,7 @@ func (ctx *Context) recvmsg(remaining []byte) (payload []byte, err error) { } if err != syscall.EAGAIN && err != syscall.EWOULDBLOCK { ctx.closeReceivedFiles() - return nil, os.NewSyscallError("recvmsg", err) + return nil, &ProxyFatalError{Err: os.NewSyscallError("recvmsg", err), ProxyErrs: ctx.cloneAsProxyErrors()} } } @@ -347,7 +347,7 @@ func (ctx *Context) sendmsg(p []byte, fds ...int) error { } if err != nil && err != syscall.EAGAIN && err != syscall.EWOULDBLOCK { - return os.NewSyscallError("sendmsg", err) + return &ProxyFatalError{Err: os.NewSyscallError("sendmsg", err), ProxyErrs: ctx.cloneAsProxyErrors()} } return err } |
