void LockClaimGlobalRecursive(void) { int res; /* Ensure the global lock has been initialized */ res = pthread_once(&isGlobalLockInit, globalLockInit); AVER(res == 0); LockClaimRecursive(globalRecLock); }
void incR(unsigned long i) { LockClaimRecursive(lock); if (i < 100) { while(i--) { tmp = shared; shared = tmp + 1; } } else { incR(i >> 1); incR( (i+1) >> 1); } LockReleaseRecursive(lock); }
void (LockClaimGlobalRecursive)(void) { lockEnsureGlobalLock(); AVER(globalLockInit); LockClaimRecursive(globalRecLock); }