Overview
C API (Core)
struct SendSignal { Symbol hCaller; Symbol signal; void* data; }; Symbol brahms_sendSignal(struct SendSignal* data);

This function allows any component to send a signal to the framework. Signals are listed below. Where not explicitly specified, the value of data is ignored.

Arguments

Symbol hCaller IN
The calling Component.
Symbol signal IN
The signal to send (see below).
void* data IN
Signal-specific data associated with the signal, or NULL if there is none.

Return Values

See also General API Return Values.

Signals

C_STILL_ACTIVE
Worker threads are monitored for hangs by the system 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 a second as you progress through a computationally expensive loop.
C_READ_WALLCLOCK
data must point to a DOUBLE variable, which will be filled with the current wallclock time (since shortly after the executable was loaded) in seconds. This clock typically has microsecond precision.