5.3.2.5. timer_is_proxy function

This function controls how timers are fundamentally handled within a Gamma program. By default, timers are handled by the processing of proxies. This allows the Gamma engine to delay the timer, if necessary, when a critical system process is occurring.

Calling the timer_is_proxy function with nil makes all timers operate by using signals. In the QNX 4 operating system, for example, SIGALRM is used, and the attached code is run as a handled signal. Running timers via signals has some very dramatic consequences. First and foremost, when running in this mode all timer code must be signal safe. This status must be analyzed with caution, as most code is not signal safe. This mode should be avoided except in very rare circumstances.