shm: handle EINTR in posix_fallocate()

This commit is contained in:
Daniel Eklöf 2020-02-25 19:07:23 +01:00
parent ac32bcda07
commit 3f601a31dc
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

5
shm.c
View file

@ -2,6 +2,7 @@
#include <unistd.h>
#include <assert.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/mman.h>
@ -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;