Lines Matching defs:waiter
197 Waiter waiter(writer);
198 waiters.Add(&waiter);
199 waiter.queued = true;
200 waiter.userThread->wait_status = 1;
209 if (!waiter.queued)
210 return waiter.status;
214 waiters.Remove(&waiter);
228 Waiter* waiter = waiters.Head();
229 if (waiter == NULL || owner >= 0)
233 if (waiter->writer) {
235 waiter->status = B_OK;
236 waiter->queued = false;
237 waiters.Remove(waiter);
238 owner = waiter->thread;
240 if (waiter->userThread->wait_status > 0)
241 _kern_unblock_thread(waiter->thread, B_OK);
254 && (waiter = waiters.Head()) != NULL
255 && !waiter->writer) {
256 waiter->status = B_OK;
257 waiter->queued = false;
258 waiters.Remove(waiter);
260 if (waiter->userThread->wait_status > 0) {
261 readers[readerCount++] = waiter->thread;