Searched refs:waiter (Results 1 - 12 of 12) sorted by relevance

/haiku/src/system/kernel/fs/
H A DVnode.cpp32 LockWaiter waiter; local
33 waiter.thread = thread_get_current_thread();
34 waiter.vnode = this;
50 bucket.waiters.Add(&waiter);
51 thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_OTHER,
69 // get the first waiter from the list
70 LockWaiter* waiter = NULL; local
75 if (waiter != NULL) {
79 waiter = someWaiter;
84 ASSERT(waiter !
[all...]
/haiku/src/system/libroot/os/locks/
H A Drw_lock.cpp25 rw_lock_waiter waiter; local
26 waiter.thread = find_thread(NULL);
27 waiter.next = NULL;
28 waiter.writer = writer;
31 lock->last_waiter->next = &waiter;
33 lock->waiters = &waiter;
35 lock->last_waiter = &waiter;
59 rw_lock_waiter *waiter = lock->waiters;
60 if (waiter == NULL)
63 if (waiter
106 rw_lock_waiter *waiter = lock->waiters; local
[all...]
/haiku/src/kits/shared/
H A DRWLockManager.cpp182 // enqueue a waiter
183 RWLockable::Waiter waiter(writer);
184 lockable->fWaiters.Add(&waiter);
185 waiter.queued = true;
201 if (!waiter.queued)
202 return waiter.status;
206 lockable->fWaiters.Remove(&waiter);
219 RWLockable::Waiter* waiter = lockable->fWaiters.Head(); local
220 if (waiter == NULL || lockable->fOwner >= 0)
224 if (waiter
[all...]
/haiku/src/system/kernel/vm/
H A DVMArea.cpp108 VMAreaUnwiredWaiter* waiter = it.Next();) {
109 waiter->condition.NotifyAll();
141 /*! If the area has any wired range, the given waiter is added to the range and
144 \return \c true, if the waiter has been added, \c false otherwise.
147 VMArea::AddWaiterIfWired(VMAreaUnwiredWaiter* waiter) argument
153 waiter->area = this;
154 waiter->base = fBase;
155 waiter->size = fSize;
156 waiter->condition.Init(this, "area unwired");
157 waiter
177 AddWaiterIfWired(VMAreaUnwiredWaiter* waiter, addr_t base, size_t size, uint32 flags) argument
[all...]
H A DVMCache.cpp947 PageEventWaiter waiter; local
948 waiter.thread = thread_get_current_thread();
949 waiter.next = fPageEventWaiters;
950 waiter.page = page;
951 waiter.events = events;
953 fPageEventWaiters = &waiter;
955 thread_prepare_to_block(waiter.thread, 0, THREAD_BLOCK_TYPE_OTHER_OBJECT, page);
1506 while (PageEventWaiter* waiter = *it) {
1507 if (waiter->page == page && (waiter
[all...]
H A Dvm_page.cpp1167 PageReservationWaiter* waiter = it.Next();) {
1169 ", don't touch: %6" B_PRIu32 "\n", waiter->thread->id,
1170 waiter->missing, waiter->dontTouch);
1493 while (PageReservationWaiter* waiter = sPageReservationWaiters.Head()) {
1494 int32 reserved = reserve_some_pages(waiter->missing,
1495 waiter->dontTouch);
1500 waiter->missing -= reserved;
1502 if (waiter->missing > 0)
1505 sPageReservationWaiters.Remove(waiter);
3078 PageReservationWaiter waiter; local
[all...]
H A Dvm.cpp1202 VMAreaUnwiredWaiter waiter; local
1203 if (!area->AddWaiterIfWired(&waiter))
1212 waiter.waitEntry.Wait();
1245 VMAreaUnwiredWaiter waiter; local
1246 if (!area->AddWaiterIfWired(&waiter, base, size))
1255 waiter.waitEntry.Wait();
5013 VMAreaUnwiredWaiter waiter; local
5014 if (area->AddWaiterIfWired(&waiter, address, B_PAGE_SIZE,
5029 waiter.waitEntry.Wait();
/haiku/src/system/kernel/locks/
H A Dlock.cpp278 mutex_waiter* waiter = lock->lock.waiters; local
279 while (waiter != NULL) {
280 kprintf(" %" B_PRId32, waiter->thread->id);
281 waiter = waiter->next;
295 // enqueue in waiter list
296 rw_lock_waiter waiter; local
297 waiter.thread = thread_get_current_thread();
298 waiter.next = NULL;
299 waiter
324 rw_lock_waiter* waiter = lock->waiters; local
600 rw_lock_waiter waiter; local
815 rw_lock_waiter* waiter = lock->waiters; local
996 mutex_waiter waiter; local
1035 mutex_waiter* waiter = lock->waiters; local
1112 mutex_waiter waiter; local
1206 mutex_waiter* waiter = lock->waiters; local
[all...]
H A Duser_mutex.cpp28 * The mutex's "waiting" state is controlled by the rw_lock: a waiter acquires
332 ConditionVariableEntry waiter;
333 entry->condition.Add(&waiter);
336 return waiter.Wait(flags, timeout);
562 ConditionVariableEntry waiter;
570 toEntry->condition.Add(&waiter);
585 error = waiter.Wait(toFlags, timeout);
/haiku/src/tests/add-ons/kernel/kernelland_emu/
H A Dlock.cpp199 // enqueue in waiter list
200 rw_lock_waiter waiter; local
201 waiter.thread = get_current_thread();
202 waiter.next = NULL;
203 waiter.writer = writer;
206 lock->waiters->last->next = &waiter;
208 lock->waiters = &waiter;
210 lock->waiters->last = &waiter;
230 rw_lock_waiter* waiter = lock->waiters; local
231 if (waiter
401 rw_lock_waiter waiter; local
703 mutex_waiter waiter; local
753 mutex_waiter* waiter = lock->waiters; local
[all...]
/haiku/src/system/libroot/posix/pthread/
H A Dpthread_rwlock.cpp197 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(); local
229 if (waiter == NULL || owner >= 0)
233 if (waiter
[all...]
/haiku/headers/private/kernel/vm/
H A DVMArea.h144 bool AddWaiterIfWired(VMAreaUnwiredWaiter* waiter);
145 bool AddWaiterIfWired(VMAreaUnwiredWaiter* waiter,

Completed in 331 milliseconds