函式名稱:EventBase::gotExit()
函式描述:EventBase::gotExit() 方法可用來檢測是否收到了退出訊號並告知 event base 停止監聽事件。
適用版本:此函式在 libevent 2.4.0 版本及更高版本中可用。
用法: EventBase::gotExit ( void ) : bool
引數:無
返回值:返回一個布林值,表示是否接收到了退出訊號。
示例程式碼:
<?php
$base = new EventBase();
// 監聽退出訊號
$exitEvent = Event::signal($base, SIGINT, function ($sig) use ($base) {
echo "Received exit signal" . PHP_EOL;
$base->gotExit();
});
// 新增其他事件,如定時器、IO事件等
// 進入事件迴圈
$base->loop();
// 清理資源
$exitEvent->free();
$base->free();
?>
上述例子使用了 event 擴充套件,首先建立了一個 EventBase 物件 $base,然後透過 Event::signal() 方法註冊了一個訊號監聽事件,當收到 SIGINT 退出訊號後,回撥函式會列印訊息並呼叫 $base->gotExit() 方法來告知 event base 停止監聽事件。然後可以新增其他事件到 event base,並進入事件迴圈。最後,在結束程式之前,要確保釋放所使用的事件和 event base 資源。