|
@@ -1615,6 +1615,11 @@ void Detector_TiRayDR::OnReconnectFPD()
|
|
|
m_hReconnectThread = 0;
|
|
m_hReconnectThread = 0;
|
|
|
m_bReconnectThreadRunning = false;
|
|
m_bReconnectThreadRunning = false;
|
|
|
}
|
|
}
|
|
|
|
|
+ else {
|
|
|
|
|
+ // 分离线程,使其在退出时自动释放资源
|
|
|
|
|
+ pthread_detach(m_hReconnectThread);
|
|
|
|
|
+ FINFO("Reconnect thread created and detached successfully");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
FINFO("OnReconnectFPD end");
|
|
FINFO("OnReconnectFPD end");
|
|
|
}
|
|
}
|
|
@@ -3077,6 +3082,7 @@ void* Detector_TiRayDR::onReconnectThread(PVOID pvoid)
|
|
|
usleep(pThis->m_nReconnectTimePeriod*1000);
|
|
usleep(pThis->m_nReconnectTimePeriod*1000);
|
|
|
}
|
|
}
|
|
|
pThis->m_bReconnectThreadRunning = false;
|
|
pThis->m_bReconnectThreadRunning = false;
|
|
|
|
|
+ pThis->m_hReconnectThread = 0; // 重置线程句柄,允许再次创建重连线程
|
|
|
FINFO("Leave reconnect detector thread");
|
|
FINFO("Leave reconnect detector thread");
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|