Esempio n. 1
0
static void CurlLock(CURL *pHandle, curl_lock_data Data, curl_lock_access Access, void *pUser)
{
	(void)pHandle;
	(void)Access;
	(void)pUser;
	lock_wait(gs_aLocks[GetLockIndex(Data)]);
}
Esempio n. 2
0
 // Lock index idx.
 inline bool TryLock(K idx, Unlocker<MUTEX>* unlocker) {
   int lock_idx = GetLockIndex(idx);
   if (lock_pool_[lock_idx].try_lock()) {
     unlocker->SetLock(&lock_pool_[lock_idx]);
     return true;
   }
   return false;
 }
Esempio n. 3
0
 // Unlock.
 inline void Unlock(K idx) {
   int lock_idx = GetLockIndex(idx);
   lock_pool_[lock_idx].unlock();
 }
Esempio n. 4
0
 // Lock index idx.
 inline bool TryLock(K idx) {
   int lock_idx = GetLockIndex(idx);
   return lock_pool_[lock_idx].try_lock();
 }
Esempio n. 5
0
 // Lock index idx, and let unlocker unlock it later on.
 inline void Lock(K idx, Unlocker<MUTEX>* unlocker) {
   int lock_idx = GetLockIndex(idx);
   lock_pool_[lock_idx].lock();
   unlocker->SetLock(&lock_pool_[lock_idx]);
 }
Esempio n. 6
0
static void CurlUnlock(CURL *pHandle, curl_lock_data Data, void *pUser)
{
	(void)pHandle;
	(void)pUser;
	lock_unlock(gs_aLocks[GetLockIndex(Data)]);
}