内容

名称

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 是系统级轮询例程的简单接口。

方法

mask ( IO [, EVENT_MASK ] )

如果给定了 EVENT_MASK,那么如果 EVENT_MASK 非零,则将 IO 添加到文件描述符列表中,并且对 poll 的下一次调用将检查 EVENT_MASK 中指定的任何事件。如果 EVENT_MASK 为零,则将从文件描述符列表中删除 IO。

如果未给定 EVENT_MASK,则返回值将是 IO 的当前事件掩码值。

poll ( [ TIMEOUT ] )

调用系统级轮询例程。如果未指定 TIMEOUT,则该调用将被阻塞。返回发生事件的句柄数,或在出错时返回 -1。

事件 ( IO )

返回事件掩码,该掩码表示在上次调用 poll 期间在 IO 上发生的事件。

remove ( IO )

从下一轮轮询的文件描述符列表中移除 IO。

handles( [ EVENT_MASK ] )

返回句柄列表。如果未给出 EVENT_MASK,则将返回已知的所有句柄的列表。如果给出了 EVENT_MASK,则将返回一个句柄列表,其中包含在最后一次调用 ti poll 期间发生了 EVENT_MASK 指定的某个事件的句柄。

另请参阅

poll(2)IO::HandleIO::Select

作者

Graham Barr。目前由 Perl Porters 维护。请在 https://github.com/Perl/perl5/issues 报告所有错误。

版权

版权所有 (c) 1997-8 Graham Barr <[email protected]>。保留所有权利。此程序是免费软件;您可以在与 Perl 本身相同的条款下重新分发或修改它。