fix: cm_invite_pending — deferred free + cancelled guard
Корень краша: cm_handle_invite_info_resp вызывал cm_invite_cleanup(inv) без unlink из invite_list — висячий указатель при conn_mgr_destroy → SIGSEGV. Механизм защиты: - cancelled:1 в cm_invite_pending — блокирует все коллбэки после cancel - cm_invite_cancel: cancelled=1 первой строкой, deferred free через uasync_post - Все коллбэки (NCD, TCP ready/close, overall timer): guard + DEBUG_WARN - Success path: temp_nq=NULL (передача владения), вызов cm_invite_cancel - INV_CANCEL логи: skip (NULL) / done — видно что реально сделано
This commit is contained in:
1 parent
f476188566
commit
dc8c9f7875
9 files changed
+456
-207
No files matched your search
@@ -485,6 +485,7 @@ class ChatViewModel : ViewModel() {
|
||||
fun clearState() {
|
||||
repo?.close()
|
||||
repo = null
|
||||
dbReady = false
|
||||
_channels.value = emptyList()
|
||||
_messages.value = emptyList()
|
||||
_currentChannel.value = null
|
||||
|
||||
Reference in new issue
Block a user