timer_is_proxy

Gamma: Version 4.0
Prev |  | Next

# `timer_is_proxy`

`timer_is_proxy` -- controls timer handling in Gamma.

## Syntax

    timer_is_proxy (t_or_nil);

## Arguments

`t_or_nil`

  An expression that evaluates to t or nil.

## Returns

The passed argument (t or nil).

## Description

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

Calling `timer_is_proxy` with nil makes all timers operate by using signals. In the QNX 4 operating system SIGUSER1 (SIGALRM?) is used, and the attach code is run as a handled signal.

| Running timers via signals has some very dramatic consequences. When running in this mode ALL TIMER CODE MUST BE SIGNAL SAFE.

## Example

        Gamma> timer_is_proxy (nil);
        nil
        Gamma> timer_is_proxy (t);
        t
        Gamma>

## See Also

`every`, `at`, `after`, `block_timers`, n`unblock_timers`, `cancel`

Prev | Home | Next
`every` | Up | Cascade DataHub

Copyright 1995-2002 by Cogent Real-Time Systems, Inc.