Fix OS X 10.10 unittest failure

Work around OS X 10.10 Yosemite returning EDEADLK on a rwlock wrlocked
then tested by wrtrylock. All other OS' (and versions of OS X that I
tested) seem to return EBUSY instead.
pull/1294/head
Victor Julien 10 years ago
parent baa55ba239
commit c51ce4d2c0

@ -89,7 +89,14 @@ int ThreadMacrosTest03RWLocks(void)
int r = 0;
r |= SCRWLockInit(&rwl_write, NULL);
r |= SCRWLockWRLock(&rwl_write);
/* work around OS X 10.10 Yosemite returning EDEADLK. All other
* OS' (and versions of OS X that I tested) seem to return EBUSY
* instead. */
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__==101000
r |= (SCRWLockTryWRLock(&rwl_write) == EDEADLK)? 0 : 1;
#else
r |= (SCRWLockTryWRLock(&rwl_write) == EBUSY)? 0 : 1;
#endif
r |= SCRWLockUnlock(&rwl_write);
r |= SCRWLockDestroy(&rwl_write);

Loading…
Cancel
Save