From 547bcea280b389b244d52bf052f627e31bf210a9 Mon Sep 17 00:00:00 2001 From: Colin Walters <walters@verbum.org> Date: Tue, 11 Jul 2017 10:32:11 -0400 Subject: [PATCH] fdio: Add a fchmod wrapper There are a number of versions of this in ostree at least, might as well wrap it. --- glnx-fdio.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/glnx-fdio.h b/glnx-fdio.h index 601e7936d..d6352b231 100644 --- a/glnx-fdio.h +++ b/glnx-fdio.h @@ -241,6 +241,28 @@ glnx_fstat (int fd, return TRUE; } +/** + * glnx_fchmod: + * @fd: FD + * @mode: Mode + * @error: Return location for a #GError, or %NULL + * + * Wrapper around fchmod() which adds #GError support and ensures that it + * retries on %EINTR. + * + * Returns: %TRUE on success, %FALSE otherwise + * Since: UNRELEASED + */ +static inline gboolean +glnx_fchmod (int fd, + mode_t mode, + GError **error) +{ + if (TEMP_FAILURE_RETRY (fchmod (fd, mode)) != 0) + return glnx_throw_errno_prefix (error, "fchmod"); + return TRUE; +} + /** * glnx_fstatat: * @dfd: Directory FD to stat beneath -- GitLab