|
|
|
@ -74,6 +74,7 @@ static void bucket_remove( int bucket ) {
@@ -74,6 +74,7 @@ static void bucket_remove( int bucket ) {
|
|
|
|
|
--bucket_locklist_count; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Can block */ |
|
|
|
|
ot_vector *mutex_bucket_lock( int bucket ) { |
|
|
|
|
pthread_mutex_lock( &bucket_mutex ); |
|
|
|
|
while( bucket_check( bucket ) ) |
|
|
|
@ -84,11 +85,7 @@ ot_vector *mutex_bucket_lock( int bucket ) {
@@ -84,11 +85,7 @@ ot_vector *mutex_bucket_lock( int bucket ) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ot_vector *mutex_bucket_lock_by_hash( ot_hash hash ) { |
|
|
|
|
int bucket = uint32_read_big( (char*)hash ) >> OT_BUCKET_COUNT_SHIFT; |
|
|
|
|
|
|
|
|
|
/* Can block */ |
|
|
|
|
mutex_bucket_lock( bucket ); |
|
|
|
|
return all_torrents + bucket; |
|
|
|
|
return mutex_bucket_lock( uint32_read_big( (char*)hash ) >> OT_BUCKET_COUNT_SHIFT ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void mutex_bucket_unlock( int bucket, int delta_torrentcount ) { |
|
|
|
|