예제 #1
0
파일: lockix.c 프로젝트: alisheikh/hornet
void LockClaimGlobalRecursive(void)
{
  int res;

  /* Ensure the global lock has been initialized */
  res = pthread_once(&isGlobalLockInit, globalLockInit);
  AVER(res == 0);
  LockClaimRecursive(globalRecLock);
}
예제 #2
0
파일: lockutw3.c 프로젝트: alisheikh/hornet
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);
}
예제 #3
0
파일: lockw3.c 프로젝트: Ravenbrook/mps
void (LockClaimGlobalRecursive)(void)
{
  lockEnsureGlobalLock();
  AVER(globalLockInit);
  LockClaimRecursive(globalRecLock);
}