Lines Matching refs:parent
39 SCPUEUTask::SCPUEUTask(const task_attr_private *attr, CPUEUTask *parent, const uint64_t &id, in SCPUEUTask() argument
41 : CPUEUTask(attr, parent, id, qos) in SCPUEUTask()
57 SCPUEUTask* parent = reinterpret_cast<SCPUEUTask*>(this->parent); in DecChildRef() local
59 std::unique_lock<decltype(parent->mutex_)> lck(parent->mutex_); in DecChildRef()
60 parent->childRefCnt--; in DecChildRef()
61 if (parent->childRefCnt != 0) { in DecChildRef()
64 if (FFRT_UNLIKELY(parent->IsRoot())) { in DecChildRef()
65 RootTask *root = static_cast<RootTask *>(parent); in DecChildRef()
73 if (!parent->IsRoot() && parent->status == TaskStatus::RELEASED && parent->childRefCnt == 0) { in DecChildRef()
74 FFRT_LOGD("free CPUEUTask:%s gid=%lu", parent->label.c_str(), parent->gid); in DecChildRef()
76 parent->DecDeleteRef(); in DecChildRef()
79 if (parent->denpenceStatus != Denpence::CALL_DEPENCE) { in DecChildRef()
82 parent->denpenceStatus = Denpence::DEPENCE_INIT; in DecChildRef()
84 if (ThreadNotifyMode(parent) || parent->IsRoot()) { in DecChildRef()
85 if (BlockThread(parent)) { in DecChildRef()
86 parent->blockType = BlockType::BLOCK_COROUTINE; in DecChildRef()
88 parent->waitCond_.notify_all(); in DecChildRef()
90 FFRT_WAKE_TRACER(parent->gid); in DecChildRef()
91 parent->UpdateState(TaskState::READY); in DecChildRef()