Fix: eNB output core dump file when exiting eNB process.
This commit is contained in:
@@ -376,6 +376,7 @@ static void trx_usrp_end(openair0_device *device) {
|
|||||||
s->tx_md.end_of_burst = true;
|
s->tx_md.end_of_burst = true;
|
||||||
s->tx_stream->send("", 0, s->tx_md);
|
s->tx_stream->send("", 0, s->tx_md);
|
||||||
s->tx_md.end_of_burst = false;
|
s->tx_md.end_of_burst = false;
|
||||||
|
sleep(1);
|
||||||
#if defined(USRP_REC_PLAY)
|
#if defined(USRP_REC_PLAY)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -332,10 +332,14 @@ void exit_fun(const char* s)
|
|||||||
|
|
||||||
if (UE_flag==0) {
|
if (UE_flag==0) {
|
||||||
for (ru_id=0; ru_id<RC.nb_RU;ru_id++) {
|
for (ru_id=0; ru_id<RC.nb_RU;ru_id++) {
|
||||||
if (RC.ru[ru_id]->rfdevice.trx_end_func)
|
if (RC.ru[ru_id]->rfdevice.trx_end_func) {
|
||||||
RC.ru[ru_id]->rfdevice.trx_end_func(&RC.ru[ru_id]->rfdevice);
|
RC.ru[ru_id]->rfdevice.trx_end_func(&RC.ru[ru_id]->rfdevice);
|
||||||
if (RC.ru[ru_id]->ifdevice.trx_end_func)
|
RC.ru[ru_id]->rfdevice.trx_end_func = NULL;
|
||||||
RC.ru[ru_id]->ifdevice.trx_end_func(&RC.ru[ru_id]->ifdevice);
|
}
|
||||||
|
if (RC.ru[ru_id]->ifdevice.trx_end_func) {
|
||||||
|
RC.ru[ru_id]->ifdevice.trx_end_func(&RC.ru[ru_id]->ifdevice);
|
||||||
|
RC.ru[ru_id]->ifdevice.trx_end_func = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,8 +350,10 @@ void exit_fun(const char* s)
|
|||||||
for(CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
for(CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||||
if (UE_flag == 0) {
|
if (UE_flag == 0) {
|
||||||
} else {
|
} else {
|
||||||
if (PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func)
|
if (PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func) {
|
||||||
PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func(&PHY_vars_UE_g[0][CC_id]->rfdevice);
|
PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func(&PHY_vars_UE_g[0][CC_id]->rfdevice);
|
||||||
|
PHY_vars_UE_g[0][CC_id]->rfdevice.trx_end_func = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1473,16 +1479,21 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
// *** Handle per CC_id openair0
|
// *** Handle per CC_id openair0
|
||||||
if (UE_flag==1) {
|
if (UE_flag==1) {
|
||||||
if (PHY_vars_UE_g[0][0]->rfdevice.trx_end_func)
|
if (PHY_vars_UE_g[0][0]->rfdevice.trx_end_func) {
|
||||||
PHY_vars_UE_g[0][0]->rfdevice.trx_end_func(&PHY_vars_UE_g[0][0]->rfdevice);
|
PHY_vars_UE_g[0][0]->rfdevice.trx_end_func(&PHY_vars_UE_g[0][0]->rfdevice);
|
||||||
|
PHY_vars_UE_g[0][0]->rfdevice.trx_end_func = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for(ru_id=0; ru_id<NB_RU; ru_id++) {
|
for(ru_id=0; ru_id<NB_RU; ru_id++) {
|
||||||
if (RC.ru[ru_id]->rfdevice.trx_end_func)
|
if (RC.ru[ru_id]->rfdevice.trx_end_func) {
|
||||||
RC.ru[ru_id]->rfdevice.trx_end_func(&RC.ru[ru_id]->rfdevice);
|
RC.ru[ru_id]->rfdevice.trx_end_func(&RC.ru[ru_id]->rfdevice);
|
||||||
if (RC.ru[ru_id]->ifdevice.trx_end_func)
|
RC.ru[ru_id]->rfdevice.trx_end_func = NULL;
|
||||||
RC.ru[ru_id]->ifdevice.trx_end_func(&RC.ru[ru_id]->ifdevice);
|
}
|
||||||
|
if (RC.ru[ru_id]->ifdevice.trx_end_func) {
|
||||||
|
RC.ru[ru_id]->ifdevice.trx_end_func(&RC.ru[ru_id]->ifdevice);
|
||||||
|
RC.ru[ru_id]->ifdevice.trx_end_func = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ouput_vcd)
|
if (ouput_vcd)
|
||||||
|
|||||||
Reference in New Issue
Block a user