提交 d69ec987 编写于 作者: M Minglei Jin

tsdb/read: reseek with try lock mutex

上级 f0e9656b
...@@ -4068,18 +4068,23 @@ static int32_t tsdbSetQueryReseek(void* pQHandle) { ...@@ -4068,18 +4068,23 @@ static int32_t tsdbSetQueryReseek(void* pQHandle) {
int32_t code = 0; int32_t code = 0;
STsdbReader* pReader = pQHandle; STsdbReader* pReader = pQHandle;
taosThreadMutexLock(&pReader->readerMutex); code = taosThreadMutexTryLock(&pReader->readerMutex);
if (code == 0) {
if (pReader->suspended) {
taosThreadMutexUnlock(&pReader->readerMutex);
return code;
}
tsdbReaderSuspend(pReader);
if (pReader->suspended) {
taosThreadMutexUnlock(&pReader->readerMutex); taosThreadMutexUnlock(&pReader->readerMutex);
return code; return code;
} else if (code == EBUSY) {
return TSDB_CODE_VND_QUERY_BUSY;
} else {
return -1;
} }
tsdbReaderSuspend(pReader);
taosThreadMutexUnlock(&pReader->readerMutex);
return code;
} }
int32_t tsdbReaderResume(STsdbReader* pReader) { int32_t tsdbReaderResume(STsdbReader* pReader) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册