select: Give the select(2) POSIX function a simple STM interface
While tinkering on a project, I frequently found myself
having to make FFI calls to select(2)
. This package is an attempt
reduce the boilerplate I needed to do that. While at it, I took the
opportunity to have what select
returns put in a TMVar
.
The package has three parts:
- System.Posix.IO.Select
- just wraps
select
. - Control.Concurrent.STM.TMVarIO
- and Control.Concurrent.MVarIO put the
return value of IO actions into a
TMVar
or anMVar
, respectively. - Control.Concurrent.STM.RunOrElse
- defines functions that give you the return value of whatever finishes first of an IO action and an STM operation.
- System.Posix.IO.Select.STM
- and System.Posix.IO.Select.MVar do the above
for the special case
select
.
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.
NOTE 2: The vector dependency comes from me not spending time figuring out how to pass lists of data to C without first turning them into vectors. It'll probably disappear soon.
CAVEAT: I'm not an experienced Haskeller (as you can tell from note 2), and this is my first foray into FFI in general. Use with caution.
Modules
[Index]
Downloads
- select-0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4.0.1 |
---|---|
Dependencies | base (>=4 && <5), stm, vector [details] |
License | BSD-3-Clause |
Copyright | 2012 Gard Spreemann |
Author | Gard Spreemann |
Maintainer | Gard Spreemann <gspreemann@gmail.com> |
Category | System |
Home page | http://nonempty.org/software/haskell-select |
Uploaded | by GardSpreemann at 2012-06-14T18:01:20Z |
Distributions | NixOS:0.4.0.1 |
Reverse Dependencies | 3 direct, 2 indirect [details] |
Downloads | 5396 total (25 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] |