php8.5
Home/ Manual/ ev / evwatcher/ EvWatcher::keepalive

EvWatcher::keepalive

PHP function Edit on GitHub ✎

(PECL ev >= 0.2.0)

Configures whether to keep the loop from returning

Description

EvWatcher::keepalive([bool $value]): bool

Configures whether to keep the loop from returning. With keepalive value set to false the watcher won't keep Ev::run / EvLoop::run from returning even though the watcher is active.

Watchers have keepalive value true by default.

Clearing keepalive status is useful when returning from Ev::run / EvLoop::run just because of the watcher is undesirable. It could be a long running UDP socket watcher or so.

Parameters

value

With keepalive value set to false the watcher won't keep Ev::run / EvLoop::run from returning even though the watcher is active.

Return Values

Returns the previous state.

Examples

Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.

php
<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>

Source: reference/ev/evwatcher/keepalive.xml · from the official PHP manual (php/doc-en)