# Method Pike.__Backend()->`()()

Method `()

  ``float`|`int(0..0)` res = `Pike.__Backend()`()`

Description

  Perform one pass through the backend.

  Calls any outstanding call-outs and non-blocking I/O callbacks that are registred in this backend object.

Parameter `sleep_time`

  Wait at most `sleep_time` seconds. The default when unspecified or the integer `0` is no time limit.

Returns

  If the backend did call any callbacks or call outs then the time spent in the backend is returned as a float. Otherwise the integer `0` is returned.

Note

  If multiple threads concurrently call this function, then:

  - One of the threads will be the controlling thread.

  - All callbacks will be called from the controlling thread.

  - All threads will be woken up when the controlling thread is done. This may be prematurely if the controlling thread had a shorter timeout.

Note

  The backend may also be woken up prematurely if the set of events to monitor is changed.

Note

  Multiple concurrent calls was not supported prior to Pike 8.0.

See also

  Pike.DefaultBackend, `main()`