I/O Multiplexing API

System calls for monitoring multiple file descriptors for readiness, enabling event-driven and non-blocking I/O patterns.

API entry from apis.yml

apis.yml Raw ↑
name: I/O Multiplexing API
description: System calls for monitoring multiple file descriptors for readiness, enabling event-driven
  and non-blocking I/O patterns.
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man2/select.2.html
baseURL: system://unix/io-multiplex
tags:
- Event-Driven
- Io
- Multiplexing
- Non-Blocking
- Poll
- Select
properties:
- type: Documentation
  url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html
- type: APIReference
  url: https://man7.org/linux/man-pages/man2/select.2.html
- type: Tutorials
  url: https://man7.org/linux/man-pages/man2/select_tut.2.html
operations:
- name: select
  description: Monitor multiple file descriptors for readiness using fd_set bitmasks
  parameters:
  - nfds
  - readfds
  - writefds
  - exceptfds
  - timeout
  returns: number of ready descriptors, 0 on timeout, -1 on error
- name: pselect
  description: Synchronous I/O multiplexing with signal mask and timespec timeout
  parameters:
  - nfds
  - readfds
  - writefds
  - exceptfds
  - timeout
  - sigmask
  returns: number of ready descriptors, 0 on timeout, -1 on error
- name: poll
  description: Monitor multiple file descriptors using pollfd array
  parameters:
  - fds
  - nfds
  - timeout
  returns: number of ready descriptors, 0 on timeout, -1 on error
- name: ppoll
  description: Poll file descriptors with signal mask and timespec timeout
  parameters:
  - fds
  - nfds
  - tmo_p
  - sigmask
  returns: number of ready descriptors, 0 on timeout, -1 on error