[libglnx: 1/2] macros: Add TEMP_FAILURE_RETRY for musl



commit 460400c19cfbf7bed2443b263d56094b7018e23a
Author: Alex Kiernan <alex kiernan gmail com>
Date:   Mon Sep 9 14:19:18 2019 +0100

    macros: Add TEMP_FAILURE_RETRY for musl
    
    TEMP_FAILURE_RETRY is glibc specific, add a definition for musl.
    
    See https://github.com/ostreedev/ostree/issues/731
    
    Signed-off-by: Alex Kiernan <alex kiernan gmail com>

 glnx-macros.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
---
diff --git a/glnx-macros.h b/glnx-macros.h
index 6d8aca9..700fc75 100644
--- a/glnx-macros.h
+++ b/glnx-macros.h
@@ -31,6 +31,16 @@ G_BEGIN_DECLS
 /* All of these are for C only. */
 #ifndef __GI_SCANNER__
 
+/* fixes builds against musl, taken from glibc unistd.h */
+#ifndef TEMP_FAILURE_RETRY
+#define TEMP_FAILURE_RETRY(expression) \
+  (__extension__                                                              \
+    ({ long int __result;                                                     \
+       do __result = (long int) (expression);                                 \
+       while (__result == -1L && errno == EINTR);                             \
+       __result; }))
+#endif
+
 /* Taken from https://github.com/systemd/systemd/src/basic/string-util.h
  * at revision v228-666-gcf6c8c4
  */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]