From 990f60b1602d37f654e797d7e34c1437343daa4e Mon Sep 17 00:00:00 2001 From: huangxin Date: Tue, 28 Jun 2022 16:53:22 +0800 Subject: [PATCH] =?UTF-8?q?FIX=20ZNJK-800=20PPPoE=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=AE=A1=E7=90=86=20RCA=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=B6=E6=9C=AA=E5=88=A0=E9=99=A4=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E7=94=A8=E6=88=B7=20SOL=20PPPoE=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=B6=EF=BC=8C=E5=88=A0=E9=99=A4=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E4=B8=AD=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- srcs/pppoe/vcpe_pppoe.c | 2 ++ srcs/user/user_info.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/srcs/pppoe/vcpe_pppoe.c b/srcs/pppoe/vcpe_pppoe.c index 21dbd4d..56f1930 100644 --- a/srcs/pppoe/vcpe_pppoe.c +++ b/srcs/pppoe/vcpe_pppoe.c @@ -235,6 +235,8 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) { pppapi_close(pUser->session.ppp, 0); pUser->session.retry.timeout = time(NULL); pppapi_free(pUser->session.ppp); + + user_info_delete(pUser->userid); } break; #if 0 diff --git a/srcs/user/user_info.c b/srcs/user/user_info.c index d6c93e7..7b7e52d 100644 --- a/srcs/user/user_info.c +++ b/srcs/user/user_info.c @@ -137,8 +137,10 @@ void user_info_delete(unsigned int userid) { uv_rwlock_rdunlock(&g_userLock); if (pInfo) { + uv_rwlock_wrlock(&g_userLock); HASH_DELETE(hh_id, g_pUserByIdList, pInfo); HASH_DELETE(hh_vxlan, g_pUserByTagsList, pInfo); + uv_rwlock_wrunlock(&g_userLock); } }