Lines Matching refs:we
136 task->wue->cb = ([&](WaitEntry* we) { in SuspendAndWaitUntil() argument
137 WaitUntilEntry* wue = static_cast<WaitUntilEntry*>(we); in SuspendAndWaitUntil()
147 WaitUntilEntry* we = task->wue; in SuspendAndWaitUntil() local
149 push_back(we); in SuspendAndWaitUntil()
152 if (DelayedWakeup(we->tp, we, we->cb)) { in SuspendAndWaitUntil()
157 if (!WeTimeoutProc(this, we)) { in SuspendAndWaitUntil()
171 bool WaitQueue::WeNotifyProc(WaitUntilEntry* we) in WeNotifyProc() argument
173 if (!we->hasWaitTime) { in WeNotifyProc()
178 WaitEntry* dwe = static_cast<WaitEntry*>(we); in WeNotifyProc()
179 if (!DelayedRemove(we->tp, dwe)) { in WeNotifyProc()
182 we->status.store(we_status::NOTIFING, std::memory_order_release); in WeNotifyProc()
184 while (we->status.load(std::memory_order_acquire) != we_status::TIMEOUT_DONE) { in WeNotifyProc()
189 delete we; in WeNotifyProc()
206 WaitUntilEntry* we = pop_front(); in Notify() local
207 if (we == nullptr) { in Notify()
212 CPUEUTask* task = we->task; in Notify()
213 if (ThreadNotifyMode(task) || we->weType == 2) { in Notify()
214 std::unique_lock<std::mutex> lk(we->wl); in Notify()
215 we->status.store(we_status::NOTIFING, std::memory_order_release); in Notify()
218 we->task = nullptr; in Notify()
221 we->cv.notify_one(); in Notify()
223 if (!WeNotifyProc(we)) { in Notify()