[td-1716]
This commit is contained in:
parent
9864f6ebf1
commit
0066dc9ac0
|
@ -257,10 +257,21 @@ TAOS *taos_connect_a(char *ip, char *user, char *pass, char *db, uint16_t port,
|
|||
void taos_close(TAOS *taos) {
|
||||
STscObj *pObj = (STscObj *)taos;
|
||||
|
||||
if (pObj == NULL || pObj->signature != pObj) {
|
||||
if (pObj == NULL) {
|
||||
tscDebug("(null) try to free tscObj and close dnodeConn");
|
||||
return;
|
||||
}
|
||||
|
||||
tscDebug("%p try to free tscObj and close dnodeConn:%p", pObj, pObj->pDnodeConn);
|
||||
if (pObj->signature != pObj) {
|
||||
tscDebug("%p already closed or invalid tscObj", pObj);
|
||||
return;
|
||||
}
|
||||
|
||||
// make sure that the close connection can only be executed once.
|
||||
pObj->signature = NULL;
|
||||
taosTmrStopA(&(pObj->pTimer));
|
||||
|
||||
SSqlObj* pHb = pObj->pHb;
|
||||
if (pHb != NULL && atomic_val_compare_exchange_ptr(&pObj->pHb, pHb, 0) == pHb) {
|
||||
if (pHb->pRpcCtx != NULL) { // wait for rsp from dnode
|
||||
|
|
Loading…
Reference in New Issue