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. It also used to expose an STM interface for running select(2) with alternative STM actions, but that functionality was split into the stm-orelse-io package from version 0.3.

Changes in version 0.3:

  • Split all STM-related functionality into a separate package, stm-orelse-io, independent of select.


  • Provide a type for fd_set that can be passed to and from C so that we can have a version of that reports which file descriptors are ready, instead of how many. Its type will be something like [Fd] -> [Fd] -> [Fd] -> Timeout -> IO ([Fd], [Fd], [Fd]).

NOTE: I feel I'm occupying prime namespace realestate with a package name like select. I'll happily let myself be chased away if anybody else 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), vector [details]
License BSD-3-Clause
Copyright 2012 Gard Spreemann
Author Gard Spreemann
Maintainer Gard Spreemann <>
Category System
Home page
Uploaded by GardSpreemann at 2012-09-15T17:19:20Z
Distributions NixOS:
Reverse Dependencies 3 direct, 2 indirect [details]
Downloads 5296 total (19 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]