[#203] Fix the bug for maintaining single mme_ue context
This commit is contained in:
parent
4b8e2a5c97
commit
3743ef98a2
|
@ -2461,11 +2461,16 @@ int mme_ue_set_imsi(mme_ue_t *mme_ue, char *imsi_bcd)
|
|||
ogs_cpystrn(mme_ue->imsi_bcd, imsi_bcd, OGS_MAX_IMSI_BCD_LEN+1);
|
||||
ogs_bcd_to_buffer(mme_ue->imsi_bcd, mme_ue->imsi, &mme_ue->imsi_len);
|
||||
|
||||
/* Check if OLD mme_ue_t is existed */
|
||||
old_mme_ue = mme_ue_find_by_imsi(mme_ue->imsi, mme_ue->imsi_len);
|
||||
if (old_mme_ue) {
|
||||
if (old_mme_ue->enb_ue)
|
||||
enb_ue_deassociate(old_mme_ue->enb_ue);
|
||||
mme_ue_remove(old_mme_ue);
|
||||
/* Check if OLD mme_ue_t is different with NEW mme_ue_t */
|
||||
if (ogs_pool_index(&mme_ue_pool, mme_ue) !=
|
||||
ogs_pool_index(&mme_ue_pool, old_mme_ue)) {
|
||||
if (old_mme_ue->enb_ue)
|
||||
enb_ue_deassociate(old_mme_ue->enb_ue);
|
||||
mme_ue_remove(old_mme_ue);
|
||||
}
|
||||
}
|
||||
|
||||
ogs_hash_set(self.imsi_ue_hash, mme_ue->imsi, mme_ue->imsi_len, mme_ue);
|
||||
|
|
Loading…
Reference in New Issue