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

This commit is contained in:
afwerar 2021-08-24 00:21:14 +08:00
parent a44075c2f1
commit 92b7a21490
2 changed files with 6 additions and 4 deletions

View File

@ -199,7 +199,9 @@ void taos_init_imp(void) {
// 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.
#if !defined(TD_WINDOWS)
atexit(taos_cleanup);
#endif
tscDebug("client is initialized successfully");
}

View File

@ -538,8 +538,8 @@ void taosCacheCleanup(SCacheObj *pCacheObj) {
// wait for the refresh thread quit before destroying the cache object.
// But in the dll, the child thread will be killed before atexit takes effect.So here we only wait for one second.
// while(atomic_load_8(&pCacheObj->deleting)) {
for (int i = 0; i < 60&&atomic_load_8(&pCacheObj->deleting) != 0; i++) {
while(atomic_load_8(&pCacheObj->deleting)) {
// for (int i = 0; i < 60&&atomic_load_8(&pCacheObj->deleting) != 0; i++) {
taosMsleep(50);
}
@ -721,6 +721,8 @@ void* taosCacheTimedRefresh(void *handle) {
continue;
}
pthread_mutex_unlock(&guard);
if ((count % pCacheObj->checkTick) != 0) {
continue;
}
@ -740,8 +742,6 @@ void* taosCacheTimedRefresh(void *handle) {
}
taosTrashcanEmpty(pCacheObj, false);
pthread_mutex_unlock(&guard);
}
}