bugfixes: correctly initialize mutexes, conds of RU_proc_t, unlock RU.mutex after using
This commit is contained in:
@@ -1615,11 +1615,13 @@ void init_RU_proc(RU_t *ru) {
|
|||||||
pthread_mutex_init( &proc->mutex_asynch_rxtx, NULL);
|
pthread_mutex_init( &proc->mutex_asynch_rxtx, NULL);
|
||||||
pthread_mutex_init( &proc->mutex_synch,NULL);
|
pthread_mutex_init( &proc->mutex_synch,NULL);
|
||||||
pthread_mutex_init( &proc->mutex_FH,NULL);
|
pthread_mutex_init( &proc->mutex_FH,NULL);
|
||||||
|
pthread_mutex_init( &proc->mutex_eNBs, NULL);
|
||||||
|
|
||||||
pthread_cond_init( &proc->cond_prach, NULL);
|
pthread_cond_init( &proc->cond_prach, NULL);
|
||||||
pthread_cond_init( &proc->cond_FH, NULL);
|
pthread_cond_init( &proc->cond_FH, NULL);
|
||||||
pthread_cond_init( &proc->cond_asynch_rxtx, NULL);
|
pthread_cond_init( &proc->cond_asynch_rxtx, NULL);
|
||||||
pthread_cond_init( &proc->cond_synch,NULL);
|
pthread_cond_init( &proc->cond_synch,NULL);
|
||||||
|
pthread_cond_init( &proc->cond_eNBs, NULL);
|
||||||
|
|
||||||
pthread_attr_init( &proc->attr_FH);
|
pthread_attr_init( &proc->attr_FH);
|
||||||
pthread_attr_init( &proc->attr_prach);
|
pthread_attr_init( &proc->attr_prach);
|
||||||
|
|||||||
@@ -844,12 +844,10 @@ void wait_RUs(void) {
|
|||||||
|
|
||||||
// wait for all RUs to be configured over fronthaul
|
// wait for all RUs to be configured over fronthaul
|
||||||
pthread_mutex_lock(&RC.ru_mutex);
|
pthread_mutex_lock(&RC.ru_mutex);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
while (RC.ru_mask>0) {
|
while (RC.ru_mask>0) {
|
||||||
pthread_cond_wait(&RC.ru_cond,&RC.ru_mutex);
|
pthread_cond_wait(&RC.ru_cond,&RC.ru_mutex);
|
||||||
}
|
}
|
||||||
|
pthread_mutex_unlock(&RC.ru_mutex);
|
||||||
|
|
||||||
LOG_I(PHY,"RUs configured\n");
|
LOG_I(PHY,"RUs configured\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user