fix PDCP reset

master
Andre Puschmann 7 years ago
parent 260fbff6ab
commit 40d19e2d32

@ -91,14 +91,16 @@ void pdcp::reestablish() {
void pdcp::reset() void pdcp::reset()
{ {
pthread_rwlock_rdlock(&rwlock); // destroy all bearers
pthread_rwlock_wrlock(&rwlock);
for (pdcp_map_t::iterator it = pdcp_array.begin(); it != pdcp_array.end(); ++it) { for (pdcp_map_t::iterator it = pdcp_array.begin(); it != pdcp_array.end(); ++it) {
it->second->reset(); delete(it->second);
} pdcp_array.erase(it);
if (valid_lcid(0)) {
pdcp_array.at(0)->init(rlc, rrc, gw, pdcp_log, default_lcid, default_cnfg);
} }
pthread_rwlock_unlock(&rwlock); pthread_rwlock_unlock(&rwlock);
// add default SRB0 again
add_bearer(0, default_cnfg);
} }
/******************************************************************************* /*******************************************************************************

Loading…
Cancel
Save