Immediate execution

Immediate execution describes API functions where the command from the function call is executed immediately and isn't queued for batch processing.

Some API functions, although categorized as immediate exeuction, may block for some period of time. The execution of the command is immediate, but the API function may need to communicate with the Screen and Windowing services. This means that the client application will be blocked until this communication is complete and the required command to execute the API function is executed.

For example, both screen_create_context() and screen_get_event() are immediate execution types. Both these API functions need to communicate with the Screen and Windowing services. The screen_create_context() function normally returns in a timely manner when a connection to the services is established. Conversely, screen_get_event() may block for long periods of time if the event queue is empty and a large or infinite timeout is specified.

Immediate execution functions neither cause the contents on a display to change nor flush any queued commands. Any previously queued commands for batch processing remain on the client side after you call immediate exeuction API functions - even if the immediate execution requires communication with the services.

The return value from immediate execution functions indicates whether or not the execution of the API function was successful.