//--------------------------------------------------------------------------------------------------------------------- int pmip_cache_init(void) { int ret; int mutex_return_code; if (pthread_rwlock_init(&pmip_lock, NULL)) { return -1; } mutex_return_code = pthread_rwlock_wrlock(&pmip_lock); if (mutex_return_code != 0) { dbg("pthread_rwlock_wrlock(&pmip_lock) %s\n", strerror(mutex_return_code)); } ret = pmip_hash_init(&g_pmip_hash, PMIP_CACHE_BUCKETS); mutex_return_code = pthread_rwlock_unlock(&pmip_lock); if (mutex_return_code != 0) { dbg("pthread_rwlock_unlock(&pmip_lock) %s\n", strerror(mutex_return_code)); } #ifdef ENABLE_VT if (ret < 0) return ret; ret = vt_pbc_init(); #endif return ret; }
//--------------------------------------------------------------------------------------------------------------------- int pmip_cache_init(void) { int ret; if (pthread_rwlock_init(&pmip_lock, NULL)) { return -1; } pthread_rwlock_wrlock(&pmip_lock); ret = hash_init(&g_pmip_hash, DOUBLE_ADDR, PMIP_CACHE_BUCKETS); pthread_rwlock_unlock(&pmip_lock); #ifdef ENABLE_VT if (ret < 0) return ret; ret = vt_pbc_init(); #endif return ret; }