Lines Matching refs:threadNode
42 ThreadNode threadNode[1]; // 线程信息,控制线程的退出和结束
127 static void RunExecutor(ThreadManager *mgr, ThreadNode *threadNode, uint32_t maxCount)
130 threadNode->index, mgr->executorCount);
133 while (executor != NULL && !threadNode->threadExit) {
287 mgr->threadNode[index].index = index;
288 mgr->threadNode[index].threadId = INVALID_THREAD_ID;
289 atomic_init(&mgr->threadNode[index].threadExit, 0);
292 int ret = pthread_create(&mgr->threadNode[0].threadId, NULL, ManagerThreadProc, (void *)&mgr->threadNode[0]);
311 if (mgr->threadNode[index].threadId != INVALID_THREAD_ID) {
312 atomic_store(&mgr->threadNode[index].threadExit, 1);
313 APPSPAWN_LOGV("DestroyThreadMgr index %{public}d %{public}d", index, mgr->threadNode[index].threadExit);
320 if (mgr->threadNode[index].threadId != INVALID_THREAD_ID) {
321 pthread_join(mgr->threadNode[index].threadId, NULL);
474 if (mgr->threadNode[index].threadId != INVALID_THREAD_ID) {
477 int ret = pthread_create(&mgr->threadNode[index].threadId,
478 NULL, ThreadExecute, (void *)&(mgr->threadNode[index]));
480 APPSPAWN_LOGV("Create thread success index: %{public}u", mgr->threadNode[index].index);
492 ThreadNode *threadNode = (ThreadNode *)args;
494 while (!threadNode->threadExit) {
509 if (threadNode->threadExit) {
519 RunExecutor(mgr, threadNode, 5); // 5 max thread
529 ThreadNode *threadNode = (ThreadNode *)args;
531 while (!threadNode->threadExit) {
533 while (ListEmpty(mgr->executorQueue) && !threadNode->threadExit) {
538 APPSPAWN_LOGV("bbbb threadNode->threadExit %{public}d", threadNode->threadExit);
539 RunExecutor(mgr, threadNode, 1);