提交 8d7cb8f0 编写于 作者: wafwerar's avatar wafwerar

[TD-6169]<fix>: windows dll client can not quit.

上级 97a3aeeb
...@@ -199,10 +199,7 @@ void taos_init_imp(void) { ...@@ -199,10 +199,7 @@ void taos_init_imp(void) {
// In the APIs of other program language, taos_cleanup is not available yet. // In the APIs of other program language, taos_cleanup is not available yet.
// So, to make sure taos_cleanup will be invoked to clean up the allocated resource to suppress the valgrind warning. // So, to make sure taos_cleanup will be invoked to clean up the allocated resource to suppress the valgrind warning.
// But in the dll, the child thread will be killed before atexit takes effect.So taos_cleanup is not necessary.
#if !defined(TD_WINDOWS)
atexit(taos_cleanup); atexit(taos_cleanup);
#endif
tscDebug("client is initialized successfully"); tscDebug("client is initialized successfully");
} }
......
...@@ -537,7 +537,8 @@ void taosCacheCleanup(SCacheObj *pCacheObj) { ...@@ -537,7 +537,8 @@ void taosCacheCleanup(SCacheObj *pCacheObj) {
pCacheObj->deleting = 1; pCacheObj->deleting = 1;
// wait for the refresh thread quit before destroying the cache object. // wait for the refresh thread quit before destroying the cache object.
while(atomic_load_8(&pCacheObj->deleting) != 0) { // But in the dll, the child thread will be killed before atexit takes effect.So here we only wait for one second.
for (int i = 0; i < 20&&atomic_load_8(&pCacheObj->deleting) != 0; i++) {
taosMsleep(50); taosMsleep(50);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册