fix(stream): keep the previous status in stack object.

This commit is contained in:
Haojun Liao 2024-01-10 19:19:53 +08:00
parent e8aea42498
commit dcbe963d32
1 changed files with 6 additions and 6 deletions

View File

@ -1066,21 +1066,21 @@ void streamTaskPause(SStreamTask* pTask, SStreamMeta* pMeta) {
} }
void streamTaskResume(SStreamTask* pTask) { void streamTaskResume(SStreamTask* pTask) {
SStreamTaskState* p = streamTaskGetStatus(pTask); SStreamTaskState prevState = *streamTaskGetStatus(pTask);
SStreamMeta* pMeta = pTask->pMeta; SStreamMeta* pMeta = pTask->pMeta;
if (p->state == TASK_STATUS__PAUSE || p->state == TASK_STATUS__HALT) { if (prevState.state == TASK_STATUS__PAUSE || prevState.state == TASK_STATUS__HALT) {
streamTaskRestoreStatus(pTask); streamTaskRestoreStatus(pTask);
char* pNew = streamTaskGetStatus(pTask)->name; char* pNew = streamTaskGetStatus(pTask)->name;
if (p->state == TASK_STATUS__PAUSE) { if (prevState.state == TASK_STATUS__PAUSE) {
int32_t num = atomic_sub_fetch_32(&pMeta->numOfPausedTasks, 1); int32_t num = atomic_sub_fetch_32(&pMeta->numOfPausedTasks, 1);
stInfo("s-task:%s status:%s resume from %s, paused task(s):%d", pTask->id.idStr, pNew, p->name, num); stInfo("s-task:%s status:%s resume from %s, paused task(s):%d", pTask->id.idStr, pNew, prevState.name, num);
} else { } else {
stInfo("s-task:%s status:%s resume from %s", pTask->id.idStr, pNew, p->name); stInfo("s-task:%s status:%s resume from %s", pTask->id.idStr, pNew, prevState.name);
} }
} else { } else {
stDebug("s-task:%s status:%s not in pause/halt status, no need to resume", pTask->id.idStr, p->name); stDebug("s-task:%s status:%s not in pause/halt status, no need to resume", pTask->id.idStr, prevState.name);
} }
} }