bug fix for killing thread
This commit is contained in:
@@ -1040,6 +1040,8 @@ void kill_eNB_proc(int inst) {
|
||||
for (i=0; i<2; i++) {
|
||||
pthread_mutex_lock(&proc_rxtx[i].mutex_rxtx);
|
||||
proc_rxtx[i].instance_cnt_rxtx = 0;
|
||||
proc_rxtx[i].pipe_ready = 0;
|
||||
pthread_cond_signal( &proc_rxtx[i].cond_rxtx );
|
||||
pthread_mutex_unlock(&proc_rxtx[i].mutex_rxtx);
|
||||
}
|
||||
proc->instance_cnt_prach = 0;
|
||||
|
||||
@@ -1901,35 +1901,41 @@ void kill_RU_proc(int inst)
|
||||
|
||||
pthread_mutex_lock(&proc->mutex_FH);
|
||||
proc->instance_cnt_FH = 0;
|
||||
pthread_mutex_unlock(&proc->mutex_FH);
|
||||
pthread_cond_signal(&proc->cond_FH);
|
||||
pthread_mutex_unlock(&proc->mutex_FH);
|
||||
|
||||
pthread_mutex_lock(&proc->mutex_FH1);
|
||||
proc->instance_cnt_FH1 = 0;
|
||||
pthread_cond_signal(&proc->cond_FH1);
|
||||
pthread_mutex_unlock(&proc->mutex_FH1);
|
||||
|
||||
pthread_mutex_lock(&proc->mutex_prach);
|
||||
proc->instance_cnt_prach = 0;
|
||||
pthread_mutex_unlock(&proc->mutex_prach);
|
||||
pthread_cond_signal(&proc->cond_prach);
|
||||
pthread_mutex_unlock(&proc->mutex_prach);
|
||||
|
||||
#ifdef Rel14
|
||||
pthread_mutex_lock(&proc->mutex_prach_br);
|
||||
proc->instance_cnt_prach_br = 0;
|
||||
pthread_mutex_unlock(&proc->mutex_prach_br);
|
||||
pthread_cond_signal(&proc->cond_prach_br);
|
||||
pthread_mutex_unlock(&proc->mutex_prach_br);
|
||||
#endif
|
||||
|
||||
pthread_mutex_lock(&proc->mutex_synch);
|
||||
proc->instance_cnt_synch = 0;
|
||||
pthread_mutex_unlock(&proc->mutex_synch);
|
||||
pthread_cond_signal(&proc->cond_synch);
|
||||
pthread_mutex_unlock(&proc->mutex_synch);
|
||||
|
||||
pthread_mutex_lock(&proc->mutex_eNBs);
|
||||
proc->ru_tx_ready = 0;
|
||||
proc->instance_cnt_eNBs = 0;
|
||||
pthread_mutex_unlock(&proc->mutex_eNBs);
|
||||
pthread_cond_signal(&proc->cond_eNBs);
|
||||
pthread_mutex_unlock(&proc->mutex_eNBs);
|
||||
|
||||
pthread_mutex_lock(&proc->mutex_asynch_rxtx);
|
||||
proc->instance_cnt_asynch_rxtx = 0;
|
||||
pthread_mutex_unlock(&proc->mutex_asynch_rxtx);
|
||||
pthread_cond_signal(&proc->cond_asynch_rxtx);
|
||||
pthread_mutex_unlock(&proc->mutex_asynch_rxtx);
|
||||
|
||||
LOG_D(PHY, "Joining pthread_FH\n");
|
||||
pthread_join(proc->pthread_FH, NULL);
|
||||
@@ -1952,7 +1958,7 @@ void kill_RU_proc(int inst)
|
||||
pthread_join(proc->pthread_asynch_rxtx, NULL);
|
||||
}
|
||||
}
|
||||
if (get_nprocs() >= 2) {
|
||||
if (get_nprocs() >= 2 && fepw) {
|
||||
if (ru->feprx) {
|
||||
pthread_mutex_lock(&proc->mutex_fep);
|
||||
proc->instance_cnt_fep = 0;
|
||||
|
||||
Reference in New Issue
Block a user