From 30ee76d489393d3b1ba5fd81c0c998ff1e56da8e Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 6 Jul 2023 15:04:07 +0000 Subject: More more jjk fixes Signed-off-by: Laurent Bercot --- src/libunixonacid/open2_at.c | 8 +++++++- src/libunixonacid/open3_at.c | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/libunixonacid/open2_at.c b/src/libunixonacid/open2_at.c index 023c038..76d79cc 100644 --- a/src/libunixonacid/open2_at.c +++ b/src/libunixonacid/open2_at.c @@ -9,12 +9,18 @@ #endif #include + +#include #include + #include int open2_at (int dirfd, char const *file, int flags) { - return openat(dirfd, file, flags) ; + int fd ; + do fd = openat(dirfd, file, flags) ; + while (fd == -1 && errno == EINTR) ; + return fd ; } #else diff --git a/src/libunixonacid/open3_at.c b/src/libunixonacid/open3_at.c index d4234d4..063092d 100644 --- a/src/libunixonacid/open3_at.c +++ b/src/libunixonacid/open3_at.c @@ -9,12 +9,18 @@ #endif #include + +#include #include + #include int open3_at (int dirfd, char const *file, int flags, unsigned int mode) { - return openat(dirfd, file, flags, mode) ; + int fd ; + do fd = openat(dirfd, file, flags, mode) ; + while (fd == -1 && errno == EINTR) ; + return fd ; } #else -- cgit v1.3.1