Permalink
Browse files

Merge "Add TEMP_FAILURE_RETRY macro for darwin"

  • Loading branch information...
2 parents 207c17f + 89c2812 commit 51ccef27cab58277775e62518a59666d2a059b62 @kruton kruton committed with Gerrit Code Review Oct 13, 2012
Showing with 15 additions and 0 deletions.
  1. +15 −0 adb/sysdeps.h
View
@@ -274,6 +274,21 @@ static __inline__ int adb_is_absolute_host_path( const char* path )
#include <string.h>
#include <unistd.h>
+/*
+ * TEMP_FAILURE_RETRY is defined by some, but not all, versions of
+ * <unistd.h>. (Alas, it is not as standard as we'd hoped!) So, if it's
+ * not already defined, then define it here.
+ */
+#ifndef TEMP_FAILURE_RETRY
+/* Used to retry syscalls that can return EINTR. */
+#define TEMP_FAILURE_RETRY(exp) ({ \
+ typeof (exp) _rc; \
+ do { \
+ _rc = (exp); \
+ } while (_rc == -1 && errno == EINTR); \
+ _rc; })
+#endif
+
#define OS_PATH_SEPARATOR '/'
#define OS_PATH_SEPARATOR_STR "/"

0 comments on commit 51ccef2

Please sign in to comment.