IO::Poll(3p)

IO::Poll3p

Object interface to system poll call

Usage

    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);

Overview

"IO::Poll" is a simple interface to the system level poll routine.

Methods

mask ( IO [, EVENT_MASK ] )

If EVENT_MASK is given, then, if EVENT_MASK is non-zero, IO is added to the list of file descriptors and the next call to poll will check for any event specified in EVENT_MASK. If EVENT_MASK is zero then IO will be removed from the list of file descriptors.

If EVENT_MASK is not given then the return value will be the current event mask value for IO.

poll ( [ TIMEOUT ] )

Call the system level poll routine. If TIMEOUT is not specified then the call will block. Returns the number of handles which had events happen, or -1 on error.

events ( IO )

Returns the event mask which represents the events that happened on IO during the last call to "poll".

remove ( IO )

Remove IO from the list of file descriptors for the next poll.

handles( [ EVENT_MASK ] )

Returns a list of handles. If EVENT_MASK is not given then a list of all handles known will be returned. If EVENT_MASK is given then a list of handles will be returned which had one of the events specified by EVENT_MASK happen during the last call to "poll".

Releases

32 releases since OpenBSD 5.0; the text changed 20 times.

  1. 5.0–5.3
  2. 5.4–5.5
  3. 5.6
  4. 5.7
  5. 5.8–5.9
  6. 6.0
  7. 6.1
  8. 6.2
  9. 6.3–6.4
  10. 6.5
  11. 6.6
  12. 6.7
  13. 6.8
  14. 6.9–7.2
  15. 7.3
  16. 7.4
  17. 7.5
  18. 7.6
  19. 7.7–7.8
  20. 7.9
  21. 8.0

Author

Graham Barr. Currently maintained by the Perl Porters. Please report all bugs at <https://github.com/Perl/perl5/issues>.

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's man source.