The OpenD Programming Language

cef_waitable_event_t

WaitableEvent is a thread synchronization tool that allows one thread to wait for another thread to finish some work. This is equivalent to using a Lock+ConditionVariable to protect a simple boolean value. However, using WaitableEvent in conjunction with a Lock to wait for a more complex state change (e.g., for an item to be added to a queue) is not recommended. In that case consider using a ConditionVariable instead of a WaitableEvent. It is safe to create and/or signal a WaitableEvent from any thread. Blocking on a WaitableEvent by calling the *wait() functions is not allowed on the browser process UI or IO threads.

Members

Variables

base
cef_base_ref_counted_t base;

Base structure.

is_signaled
int function(cef_waitable_event_t* self) nothrow is_signaled;

Returns true (1) if the event is in the signaled state, else false (0). If the event was created with |automatic_reset| set to true (1) then calling this function will also cause a reset.

signal
void function(cef_waitable_event_t* self) nothrow signal;

Put the event in the signaled state. This causes any thread blocked on Wait to be woken up.

timed_wait
int function(cef_waitable_event_t* self, long max_ms) nothrow timed_wait;

Wait up to |max_ms| milliseconds for the event to be signaled. Returns true (1) if the event was signaled. A return value of false (0) does not necessarily mean that |max_ms| was exceeded. This function will not return until after the call to signal() has completed. This function cannot be called on the browser process UI or IO threads.

wait
void function(cef_waitable_event_t* self) nothrow wait;

Wait indefinitely for the event to be signaled. This function will not return until after the call to signal() has completed. This function cannot be called on the browser process UI or IO threads.

Meta