summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Kiernan <alex.kiernan@gmail.com>2019-09-09 14:19:18 +0100
committerAlex Kiernan <alex.kiernan@gmail.com>2019-09-09 14:33:54 +0100
commit460400c19cfbf7bed2443b263d56094b7018e23a (patch)
tree52448fd48cd8072a79b9999d4f2522c9b144c64e
parent8f34033b256da5a8e2cc66faf8e81cfdfb9cdf37 (diff)
downloadlibglnx-460400c19cfbf7bed2443b263d56094b7018e23a.tar.gz
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>
-rw-r--r--glnx-macros.h10
1 files changed, 10 insertions, 0 deletions
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
*/