diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-12-06 16:50:49 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-12-06 16:50:49 +0900 |
| commit | 490093a659f305f7d7378e152604b8d021a69bd3 (patch) | |
| tree | 92a398d31a9c4cf21bb0110a84cfa7ceb0bc3d55 /internal/pipewire | |
| parent | 2b22efcdf1024bb0002ad648c2ba2c457222f59b (diff) | |
internal/pipewire: set errno on an empty message
This matches upstream behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pipewire')
| -rw-r--r-- | internal/pipewire/pipewire.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go index d0f1e7a6..331fcf17 100644 --- a/internal/pipewire/pipewire.go +++ b/internal/pipewire/pipewire.go @@ -291,7 +291,10 @@ func (ctx *Context) recvmsg(remaining []byte) (payload []byte, err error) { break } - if n >= 0 { + if n == 0 && len(remaining) != len(ctx.iovecBuf) && err == nil { + err = syscall.EPIPE // not wrapped as it did not come from the syscall + } + if n > 0 { payload = ctx.iovecBuf[:n] } return |
