內容

名稱

IO::Poll - 系統呼叫的物件介面

語法

use IO::Poll qw(POLLRDNORM POLLWRNORM POLLIN POLLHUP);

$poll = IO::Poll->new();

$poll->mask($input_handle => POLLIN);
$poll->mask($output_handle => POLLOUT);

$poll->poll($timeout);

$ev = $poll->events($input);

說明

IO::Poll 是系統層級 poll 常式的簡單介面。

方法

mask ( IO [, EVENT_MASK ] )

如果給定 EVENT_MASK,則如果 EVENT_MASK 非零,IO 會新增到檔案描述符清單,且下一次呼叫 poll 會檢查 EVENT_MASK 中指定的任何事件。如果 EVENT_MASK 為零,則會從檔案描述符清單中移除 IO。

如果未給定 EVENT_MASK,則傳回值會是 IO 的目前事件遮罩值。

poll ( [ TIMEOUT ] )

呼叫系統層級的 poll 常式。如果未指定 TIMEOUT,則呼叫會封鎖。傳回發生事件的處理數,或是在發生錯誤時傳回 -1。

events ( IO )

傳回在最後一次呼叫 poll 期間發生在 IO 上的事件的事件遮罩。

remove ( IO )

從檔案描述符清單中移除 IO 以供下次輪詢使用。

handles( [ EVENT_MASK ] )

傳回處理程序清單。如果未提供 EVENT_MASK,則會傳回已知的所有處理程序清單。如果提供了 EVENT_MASK,則會傳回處理程序清單,其中包含在最後一次呼叫 poll 期間發生 EVENT_MASK 指定的事件之一的處理程序。

另請參閱

poll(2)IO::HandleIO::Select

作者

Graham Barr。目前由 Perl Porters 維護。請將所有錯誤報告至 https://github.com/Perl/perl5/issues

版權

版權所有 (c) 1997-8 Graham Barr <gbarr@pobox.com>。保留所有權利。此程式為免費軟體;您可以在與 Perl 相同的條款下重新散布或修改它。