EvWatcher::keepalive

Configures whether to keep the loop from returning

&reftitle.description; public `bool` `EvWatcher::keepalive` `bool` `value`

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.

&reftitle.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.

&reftitle.returnvalues;

Returns the previous state.

&reftitle.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
    $udp_socket = ...
    $udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
    $udp_watcher->keepalive(FALSE);
    ?>