Home | History | Annotate | Download | only in runtime

Lines Matching full:wait

42  * full-fledged monitor until a) there is actual contention or b) wait()
73 * - a way for multiple threads to wait for notification
78 * threads waiting on it (the wait call unlocks it). One or more waiting
146 * Links a thread into a monitor's wait set. The monitor lock must be
167 * Unlinks a thread from a monitor's wait set. The monitor lock must
352 // Wait should have already cleared the fields.
369 * Wait on a monitor until timeout, interrupt, or notification. Used for
370 * Object.wait() and (somewhat indirectly) Thread.sleep() and Thread.join().
374 * - blocked in wait(), wait(long), or wait(long, int) methods of Object
384 * Object.wait() do so in a loop. This appears to derive from concerns
391 void Monitor::Wait(Thread* self, int64_t ms, int32_t ns,
398 ThrowIllegalMonitorStateExceptionF("object not locked by thread before wait()");
403 // We need to turn a zero-length timed wait into a regular wait because
404 // Object.wait(0, 0) is defined as Object.wait(0), which is defined as Object.wait().
427 * We append to the wait set ahead of clearing the count and owner
450 // Pseudo-atomically wait on self's wait_cond_ and release the monitor lock.
462 // Handle the case where the thread was interrupted before we called wait().
466 // Wait for a notification or a timeout to occur.
468 self->wait_cond_->Wait(self);
499 * We remove our thread from wait set after restoring the count
541 // Signal the first waiting thread in the wait set.
568 // Signal all threads in the wait set.
637 // The lock is owned by another thread. Notify the runtime that we are about to wait.
757 * Object.wait(). Also called for class init.
759 void Monitor::Wait(Thread* self, mirror::Object *obj, int64_t ms, int32_t ns,
768 ThrowIllegalMonitorStateExceptionF("object not locked by thread before wait()");
778 VLOG(monitor) << StringPrintf("monitor: thread %d fattened lock %p by wait()", self->GetThinLockId(), thinp);
780 LW_MONITOR(*thinp)->Wait(self, ms, ns, interruptShouldThrow, why);