diff --git a/src/client/src/tscSql.c b/src/client/src/tscSql.c index f02e587455b093223af26215fbea17b2879231af..4a001a2ce4f03130e6961edb6ee54e27058fab64 100644 --- a/src/client/src/tscSql.c +++ b/src/client/src/tscSql.c @@ -286,9 +286,11 @@ void taos_close(TAOS *taos) { assert(ref >= 0); if (ref > 0) { + tscDebug("%p %d remain sqlObjs, do not close dnodeConn:%p", pObj, ref, pObj->pDnodeConn); return; } + tscDebug("%p all sqlObj are freed, free tscObj, dnodeConn:%p", pObj, pObj->pDnodeConn); tscCloseTscObj(pObj); } diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index f06d36e0c6f2c9669651107a1e4f5ae31361a0b4..9b3f5927ab9650764ec13ae2669ee6bc98ca5486 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -772,6 +772,7 @@ void tscCloseTscObj(STscObj* pObj) { pObj->signature = NULL; taosTmrStopA(&(pObj->pTimer)); + void* p = pObj->pDnodeConn; if (pObj->pDnodeConn != NULL) { rpcClose(pObj->pDnodeConn); pObj->pDnodeConn = NULL; @@ -779,7 +780,7 @@ void tscCloseTscObj(STscObj* pObj) { pthread_mutex_destroy(&pObj->mutex); - tscDebug("%p DB connection is closed, dnodeConn:%p", pObj, pObj->pDnodeConn); + tscDebug("%p DB connection is closed, dnodeConn:%p", pObj, p); taosTFree(pObj); }