Add TEMP_FAILURE_RETRY macro for darwin

Darwin doesn't define the TEMP_FAILURE_RETRY macro in unistd.h so we
need to add it everywhere. Joy!

(cherry picked from commit ec90f1dc11)

Change-Id: Ida554fc65193672cc4616dec79e6282e06cc1b28
This commit is contained in:
Kenny Root 2012-10-13 11:59:01 -07:00
parent 207c17ff1f
commit 89c2812bd6
1 changed files with 15 additions and 0 deletions

View File

@ -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 "/"