How Events Are Executed
Event code is not necessarily executed immediately after the event is triggered. The process for executing events is:
1. When the event is triggered, OpenROAD sends the event code to the bottom of the application event queue.
2. When the event reaches the top of this event queue, OpenROAD dispatches the event to the bottom of the appropriate frame's event queue. If the event is a user event from an external application, it may go to more than one frame.
3. The event code block is executed when the event reaches the top of the frame's event queue.
Although actions may appear to the user as concurrent, you must consider the exact order in which various events are triggered. When you understand how the events work, you can use OpenROAD to communicate between frames for synchronization and to ensure that the user can perform tasks concurrently.