Lines Matching defs:parent
39 SCPUEUTask::SCPUEUTask(const task_attr_private *attr, CPUEUTask *parent, const uint64_t &id,
41 : CPUEUTask(attr, parent, id, qos)
57 SCPUEUTask* parent = reinterpret_cast<SCPUEUTask*>(this->parent);
58 FFRT_LOGD("DecChildRef parent task:%s, childRefCnt=%u, task[%lu], name[%s]",
59 parent->label.c_str(), parent->childRefCnt.load(), gid, label.c_str());
61 std::unique_lock<decltype(parent->mutex_)> lck(parent->mutex_);
62 parent->childRefCnt--;
63 if (parent->childRefCnt != 0) {
66 if (FFRT_UNLIKELY(parent->IsRoot())) {
67 RootTask *root = static_cast<RootTask *>(parent);
75 if (!parent->IsRoot() && parent->status == TaskStatus::RELEASED && parent->childRefCnt == 0) {
76 FFRT_LOGD("free CPUEUTask:%s gid=%lu", parent->label.c_str(), parent->gid);
78 parent->DecDeleteRef();
81 if (parent->denpenceStatus != Denpence::CALL_DEPENCE) {
84 parent->denpenceStatus = Denpence::DEPENCE_INIT;
86 if (ThreadNotifyMode(parent) || parent->IsRoot()) {
87 if (BlockThread(parent)) {
88 parent->blockType = BlockType::BLOCK_COROUTINE;
90 parent->waitCond_.notify_all();
92 FFRT_WAKE_TRACER(parent->gid);
93 parent->UpdateState(TaskState::READY);