(PECL ev >= 0.2.0)
EvWatcher::keepalive — Configures whether to keep the loop from returning
$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.
value
    
      With keepalive
      value
      set to FALSE the watcher won't keep
      Ev::run()
      /
      EvLoop::run()
      from returning even though the watcher is active.
     
Returns the previous state.
Example #1 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);
?>