OpenHarmony开发者论坛
标题:
SoftBusDeviceConnectionListener::OnDeviceOffline函数中exit(0)导致的问题
[打印本页]
作者:
pidan_2023
时间:
2024-3-9 19:16
标题:
SoftBusDeviceConnectionListener::OnDeviceOffline函数中exit(0)导致的问题
【问题描述】
问题现象和发生的背景
security_access_token\services\tokensyncmanager\src\remote\soft_bus_device_connection_listener.cpp文件
SoftBusDeviceConnectionListener::OnDeviceOffline函数中发现设备列表为空就直接exit(0),概率性导致子线程crash的问题。
在实际环境上测试时,有时会出现还在运行的子线程调用主线程的回调函数时,出现crash。
例如:
子线程dsoftbus的ClientDestroySession函数,会调用主线程的回调函数SoftBusSocketListener::OnShutdown
if (destroyNode->OnSessionClosed != NULL) {
destroyNode->OnSessionClosed(id);
} else if (destroyNode->OnShutdown != NULL) {
destroyNode->OnShutdown(id, reason);
}
但主线程已经exit,主线程的数据已经销毁,再调用SoftBusSocketListener::OnShutdown时就会crash。
请问有什么修改方案?
作者:
s_hao
时间:
2024-3-27 09:29
更新代码重新试一下,已知的问题并修复了
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5