enb: remove usleep after sending RRC Connection Release to UE

this cause a "dead-lock" with ZMQ because it made the stack
thread sleep for 50ms. With a sync-queue size of 1 (now the default
using ZMQ) the zmq-based radio to timeout. as a result
the rx/tx between UE and eNB stopped so the UE never reached
RRC Idle state.
This commit is contained in:
Andre Puschmann 2020-06-14 15:07:06 +02:00
parent cd0202aeaf
commit e2146e90ad
1 changed files with 2 additions and 3 deletions

View File

@ -537,10 +537,9 @@ void rrc::process_release_complete(uint16_t rnti)
if (!user_it->second->is_idle()) {
rlc->clear_buffer(rnti);
user_it->second->send_connection_release();
// There is no RRCReleaseComplete message from UE thus wait ~50 subframes for tx
usleep(50000);
}
rem_user_thread(rnti);
// delay user deletion for ~50 TTI (until RRC release is sent)
timers->defer_callback(50, [&]() { rem_user_thread(rnti); });
} else {
rrc_log->error("Received ReleaseComplete for unknown rnti=0x%x\n", rnti);
}