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>
diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c
index 551f2a9..6b2f377 100644
--- a/shared/os-compatibility.c
+++ b/shared/os-compatibility.c
@@ -178,7 +178,9 @@
 		return -1;
 
 #ifdef HAVE_POSIX_FALLOCATE
-	ret = posix_fallocate(fd, 0, size);
+	do {
+		ret = posix_fallocate(fd, 0, size);
+	} while (ret == EINTR);
 	if (ret != 0) {
 		close(fd);
 		errno = ret;