(PECL ev >= 0.2.0)
EvWatcher::keepalive — 配置循环是否保持不返回
配置循环是否保持不返回。当 keepalive value
设置为 false
时,即使监视器处于活动状态,监视器也不会阻止 Ev::run() / EvLoop::run() 返回。
监视器默认情况下 keepalive value
为 true
。
清除 keepalive 状态在从 Ev::run() / EvLoop::run() 返回仅仅是因为监视器的原因时非常有用。这可能是一个长时间运行的 UDP 套接字监视器等。
value
当 keepalive value
设置为 false
时,即使监视器处于活动状态,监视器也不会阻止 Ev::run() / EvLoop::run() 返回。
返回之前的状态。
示例 #1 为某个 UDP 套接字注册 I/O 监视器,但不要仅仅因为该监视器而阻止事件循环运行。
<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>