# Interface ICefWaitableEvent

Description
Hierarchy
Fields
Methods
Properties

## Unit

uCEFInterfaces

## Declaration

`type ICefWaitableEvent = interface(ICefBaseRefCounted)`

## Description

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.

UNKNOWN

<see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_waitable_event_capi.h">CEF source file: /include/capi/cef_waitable_event_capi.h (cef_waitable_event_t))

## Hierarchy

- IInterface
- ICefBaseRefCounted
- ICefWaitableEvent

## Overview

### Methods

| `procedure Reset;`
| `procedure Signal;`
| `function IsSignaled: boolean;`
| `procedure Wait;`
| `function TimedWait(max_ms: int64): boolean;`

## Description

### Methods

| `procedure Reset;`

Put the event in the un-signaled state.

###### Attributes

GUID['{965C90C9-3DAE-457F-AA64-E04FF508094A}']

| `procedure Signal;`
Put the event in the signaled state. This causes any thread blocked on Wait to be woken up.

| `function IsSignaled: boolean;`
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.

| `procedure 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.

| `function TimedWait(max_ms: int64): boolean;`
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.

Generated by PasDoc 0.17.0.snapshot.