From 3f601a31dc24d7acba7b57124e3b319b792b9581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 25 Feb 2020 19:07:23 +0100 Subject: [PATCH] shm: handle EINTR in posix_fallocate() --- shm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/shm.c b/shm.c index 33095e74..ab717bd0 100644 --- a/shm.c +++ b/shm.c @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -124,7 +125,9 @@ shm_get_buffer(struct wl_shm *shm, int width, int height, unsigned long cookie) size = stride * height; LOG_DBG("cookie=%lx: allocating new buffer: %zu KB", cookie, size / 1024); - int err = posix_fallocate(pool_fd, 0, size); + int err = EINTR; + while (err == EINTR) + err = posix_fallocate(pool_fd, 0, size); if (err != 0) { static bool failure_logged = false;