os: Check for EINTR on posix_fallocate()

posix_fallocate() can return EINTR and need to be restarted - I've hit
this when running weston-terminal under gdb.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
dev
Derek Foreman 8 years ago committed by Quentin Glidic
parent 7fecb43735
commit 91d4bce7c3
No known key found for this signature in database
GPG Key ID: AC203F96E2C34BB7
  1. 4
      shared/os-compatibility.c

@ -178,7 +178,9 @@ os_create_anonymous_file(off_t size)
return -1; return -1;
#ifdef HAVE_POSIX_FALLOCATE #ifdef HAVE_POSIX_FALLOCATE
ret = posix_fallocate(fd, 0, size); do {
ret = posix_fallocate(fd, 0, size);
} while (ret == EINTR);
if (ret != 0) { if (ret != 0) {
close(fd); close(fd);
errno = ret; errno = ret;

Loading…
Cancel
Save