From 16ce6b7acc5894074cc1d29b226da6a57a7395df Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Wed, 14 Dec 2022 09:15:55 +0100 Subject: [PATCH] mesa/lima: don't call 'close()' for non-libc fd Fixes #4702 --- repos/libports/ports/mesa.hash | 2 +- repos/libports/src/lib/mesa/patches/lima.patch | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/repos/libports/ports/mesa.hash b/repos/libports/ports/mesa.hash index 9b2d18690d..cd073a50d5 100644 --- a/repos/libports/ports/mesa.hash +++ b/repos/libports/ports/mesa.hash @@ -1 +1 @@ -5762ad18c4b5d48ad6b8651fc554e65d656e144f +a5a32fe6f44a46ff1eed62bf585a2b445b939e44 diff --git a/repos/libports/src/lib/mesa/patches/lima.patch b/repos/libports/src/lib/mesa/patches/lima.patch index a8cc8a9243..f3ac9b88c6 100644 --- a/repos/libports/src/lib/mesa/patches/lima.patch +++ b/repos/libports/src/lib/mesa/patches/lima.patch @@ -1,3 +1,20 @@ +--- a/src/lib/mesa/src/gallium/drivers/lima/lima_fence.c +--- b/src/lib/mesa/src/gallium/drivers/lima/lima_fence.c +@@ -90,8 +93,14 @@ lima_fence_get_fd(struct pipe_screen *pscreen, + static void + lima_fence_destroy(struct pipe_fence_handle *fence) + { ++#if 0 ++ /* ++ * On Genode the fd is not created by the libc ++ * (see ioctl_lima.cc). ++ */ + if (fence->fd >= 0) + close(fence->fd); ++#endif + FREE(fence); + } + --- a/src/lib/mesa/src/loader/loader.c --- b/src/lib/mesa/src/loader/loader.c @@ -473,6 +473,9 @@