(PECL ev >= 0.2.0)
EvWatcher::keepalive — 設定是否防止迴圈返回
設定是否防止迴圈返回。將 keepalive value
設定為 false
時,即使監視器處於活動狀態,也不會阻止 Ev::run() / EvLoop::run() 返回。
預設情況下,監視器的 keepalive value
為 true
。
清除 keepalive 狀態在從 Ev::run() / EvLoop::run() 返回時非常有用,尤其是不希望監視器持續作用的情況下。例如長時間運行的 UDP socket 監視器等。
value
將 keepalive value
設定為 false
時,即使監視器處於活動狀態,也不會阻止 Ev::run() / EvLoop::run() 返回。
返回先前的狀態。
範例 #1 註冊一個用於 UDP socket 的 I/O 監視器,但不要僅因為該監視器而阻止事件迴圈運行。
<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>