Commit 8bec5065 authored by Haruki NAOI's avatar Haruki NAOI

Fix: eNB output core dump file when exiting eNB process.

parent bb6d1165
...@@ -376,6 +376,7 @@ static void trx_usrp_end(openair0_device *device) { ...@@ -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) ...@@ -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;
}
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(&RC.ru[ru_id]->ifdevice);
RC.ru[ru_id]->ifdevice.trx_end_func = NULL;
}
} }
} }
...@@ -346,8 +350,10 @@ void exit_fun(const char* s) ...@@ -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 ) ...@@ -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;
}
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(&RC.ru[ru_id]->ifdevice);
RC.ru[ru_id]->ifdevice.trx_end_func = NULL;
}
} }
} }
if (ouput_vcd) if (ouput_vcd)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment