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