select: Wrap the select(2) POSIX function

[ bsd3, library, system ] [ Propose Tags ]

While tinkering on a project, I frequently found myself having to make FFI calls to select(2). This package provides an interface to that system call.

Changed in version

  • Minor internal cleanups.

  • TODO moved to file.

Changes in version 0.4:

  • Introduce an interface to fd_set.

  • Add functions with various amounts of abstraction; in particular, select'' matches select in previous versions.

  • Retry select(2) in case of interruption by signals.

  • Remove dependence on the vector package.


  • Behavior with write and exception file descriptors is under-tested. Feedback is welcome.

  • This package is far from complete, and should be tested throughly before being relied upon.

NOTE: I feel I'm occupying prime namespace realestate with a package name like select. I'll happily let myself be chased away if someone more qualified wants to use this package name. Let me know.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.2, 0.2.1, 0.3, 0.4,
Dependencies base (>=4 && <5) [details]
License BSD-3-Clause
Copyright 2012 Gard Spreemann
Author Gard Spreemann
Maintainer Gard Spreemann <>
Category System
Home page
Uploaded by GardSpreemann at 2013-01-30T18:31:47Z
Distributions NixOS:
Reverse Dependencies 3 direct, 2 indirect [details]
Downloads 5306 total (23 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]