Overview

This event can be sent to indicate to the framework that the component has not hung (is still active). No data is associated with this event.

Return Values

See also General Interface Return Values.

Still Active

Worker threads are monitored for hangs by the caller thread, and if a thread does not send this signal for TimeoutThreadHang milliseconds, the system will throw E_THREAD_HUNG, causing the execution to terminate. The signal is sent automatically by the framework between component events, which is usually often enough. However, if a process takes more than TimeoutThreadHang milliseconds to service a single event, the monitor will be triggered and execution will terminate. To avoid this, any process that is to perform extensive computation within the context of a single event should periodically send this signal. For example, send the signal once every few hundred milliseconds as you progress through a computationally expensive loop.

Example

Taken from 1199.

C Source Code (against Component Interface)
Symbol stillActive() { EngineEvent event; event.hCaller = hComponent; event.flags = 0; event.type = ENGINE_EVENT_STILL_ACTIVE; event.data = 0; Symbol result = brahms_engineEvent(&event); if (S_ERROR(result)) throw result; return result; }