From 490093a659f305f7d7378e152604b8d021a69bd3 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 6 Dec 2025 16:50:49 +0900 Subject: [PATCH] internal/pipewire: set errno on an empty message This matches upstream behaviour. Signed-off-by: Ophestra --- internal/pipewire/pipewire.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go index d0f1e7a..331fcf1 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