Lines Matching refs:worker

34 Worker::PriorityScope::PriorityScope(Worker* worker, Priority taskPriority) : worker_(worker)  in PriorityScope()  argument
36 if (taskPriority != worker->priority_) { in PriorityScope()
47 worker->priority_ = taskPriority; in PriorityScope()
64 Worker* worker = new Worker(env); in WorkerConstructor() local
65 worker->StartExecuteInThread(); in WorkerConstructor()
66 return worker; in WorkerConstructor()
71 auto worker = static_cast<Worker*>(req->data); in ReleaseWorkerHandles() local
72 …HILOG_DEBUG("taskpool:: enter the worker loop and try to release thread: %{public}d", worker->tid_… in ReleaseWorkerHandles()
73 if (!worker->CheckFreeConditions()) { in ReleaseWorkerHandles()
77 TaskManager::GetInstance().RemoveWorker(worker); in ReleaseWorkerHandles()
82 ConcurrentHelper::UvHandleClose(worker->performTaskSignal_); in ReleaseWorkerHandles()
84 ConcurrentHelper::UvHandleClose(worker->debuggerOnPostTaskSignal_); in ReleaseWorkerHandles()
86 ConcurrentHelper::UvHandleClose(worker->clearWorkerSignal_); in ReleaseWorkerHandles()
87 ConcurrentHelper::UvHandleClose(worker->triggerGCCheckSignal_); in ReleaseWorkerHandles()
88 worker->triggerGCCheckSignal_ = nullptr; in ReleaseWorkerHandles()
90 uv_loop_t* loop = worker->GetWorkerLoop(); in ReleaseWorkerHandles()
137 Worker* worker = reinterpret_cast<Worker*>(req->data); in HandleDebuggerTask() local
138 if (worker == nullptr) { in HandleDebuggerTask()
142 worker->debuggerMutex_.lock(); in HandleDebuggerTask()
143 auto task = std::move(worker->debuggerQueue_.front()); in HandleDebuggerTask()
144 worker->debuggerQueue_.pop(); in HandleDebuggerTask()
145 worker->debuggerMutex_.unlock(); in HandleDebuggerTask()
209 auto worker = reinterpret_cast<Worker*>(const_cast<void*>(data)); in ExecuteInThread() local
211 napi_create_runtime(worker->hostEnv_, &worker->workerEnv_); in ExecuteInThread()
212 if (worker->workerEnv_ == nullptr) { in ExecuteInThread()
216 auto workerEngine = reinterpret_cast<NativeEngine*>(worker->workerEnv_); in ExecuteInThread()
219 workerEngine->InitTaskPoolThread(worker->workerEnv_, Worker::TaskResultCallback); in ExecuteInThread()
221 uv_loop_t* loop = worker->GetWorkerLoop(); in ExecuteInThread()
227 worker->tid_ = GetThreadId(); in ExecuteInThread()
230 ConcurrentHelper::UvHandleInit(loop, worker->performTaskSignal_, Worker::PerformTask, worker); in ExecuteInThread()
231 …ConcurrentHelper::UvHandleInit(loop, worker->clearWorkerSignal_, Worker::ReleaseWorkerHandles, wor… in ExecuteInThread()
232 …ConcurrentHelper::UvHandleInit(loop, worker->triggerGCCheckSignal_, Worker::TriggerGCCheck, worker in ExecuteInThread()
237 …ConcurrentHelper::UvHandleInit(loop, worker->debuggerOnPostTaskSignal_, Worker::HandleDebuggerTask… in ExecuteInThread()
239 if (worker->PrepareForWorkerInstance()) { in ExecuteInThread()
241 worker->NotifyWorkerCreated(); in ExecuteInThread()
243 worker->InitFfrtInfo(); in ExecuteInThread()
244 worker->InitLoopHandleNum(); in ExecuteInThread()
246 worker->RunLoop(); in ExecuteInThread()
250 TaskManager::GetInstance().RemoveWorker(worker); in ExecuteInThread()
252 worker->ReleaseWorkerThreadContent(); in ExecuteInThread()
253 delete worker; in ExecuteInThread()
254 worker = nullptr; in ExecuteInThread()
338 auto worker = reinterpret_cast<Worker*>(req->data); in TriggerGCCheck() local
339 auto workerEngine = reinterpret_cast<NativeEngine*>(worker->workerEnv_); in TriggerGCCheck()
372 auto worker = static_cast<Worker*>(req->data); in PerformTask() local
373 napi_env env = worker->workerEnv_; in PerformTask()
374 TaskManager::GetInstance().NotifyWorkerRunning(worker); in PerformTask()
377 worker->NotifyIdle(); in PerformTask()
380 RunningScope runningScope(worker); in PerformTask()
381 PriorityScope priorityScope(worker, taskInfo.second); in PerformTask()
392 worker->NotifyTaskBegin(); in PerformTask()
394 if (!task->UpdateTask(startTime, worker)) { in PerformTask()
395 worker->NotifyTaskFinished(); in PerformTask()
402 worker->UpdateLongTaskInfo(task); in PerformTask()
404 worker->StoreTaskId(task->taskId_); in PerformTask()
416 worker->NotifyTaskResult(env, task, errorInfo); in PerformTask()
420 if (!worker->InitTaskPoolFunc(env, func, task)) { in PerformTask()
423 worker->hasExecuted_ = true; in PerformTask()
441 worker->UpdateExecutedInfo(); in PerformTask()
472 Worker* worker = reinterpret_cast<Worker*>(task->worker_); in NotifyHandleTaskResult() local
473 if (worker != nullptr) { in NotifyHandleTaskResult()
474 std::lock_guard<std::mutex> lock(worker->currentTaskIdMutex_); in NotifyHandleTaskResult()
475 …auto iter = std::find(worker->currentTaskId_.begin(), worker->currentTaskId_.end(), task->taskId_); in NotifyHandleTaskResult()
476 if (iter != worker->currentTaskId_.end()) { in NotifyHandleTaskResult()
477 worker->currentTaskId_.erase(iter); in NotifyHandleTaskResult()
483 if (!task->VerifyAndPostResult(worker->priority_)) { in NotifyHandleTaskResult()
488 worker->NotifyTaskFinished(); in NotifyHandleTaskResult()
508 auto worker = static_cast<Worker*>(task->worker_); in TaskResultCallback() local
509 worker->isExecutingLongTask_ = task->IsLongTask(); in TaskResultCallback()