From 4f8c68757b05d12392cd1a8aed174cb8e56f80e3 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Thu, 5 Apr 2018 17:19:44 +0300
Subject: [PATCH] ell: fix build with musl libc

musl libc doesn't implement TEMP_FAILURE_RETRY. Use the
TEMP_FAILURE_RETRY from glibc to fix build.

Upstream-Status: Submitted [https://lists.01.org/pipermail/ell/2018-April/001209.html]

Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
 ell/dbus.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/ell/dbus.h b/ell/dbus.h
index a7c08d2..3ff5e0f 100644
--- a/ell/dbus.h
+++ b/ell/dbus.h
@@ -28,6 +28,16 @@
 #include <stddef.h>
 #include <stdarg.h>
 
+/* taken from glibc unistd.h for musl support */
+#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
+
 #ifdef __cplusplus
 extern "C" {
 #endif
-- 
2.4.0

