The select package
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:
- just wraps select.
- and Control.Concurrent.MVarIO put the return value of IO actions into a TMVar or an MVar, respectively.
- defines functions that give you the return value of whatever finishes first of an IO action and an STM operation.
- 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.
|Versions||0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4.0.1|
|Dependencies||base (==4.*), stm, vector [details]|
|Copyright||2012 Gard Spreemann|
|Maintainer||Gard Spreemann <email@example.com>|
|Uploaded||Sat Jul 28 12:58:49 UTC 2012 by GardSpreemann|
|Downloads||1521 total (15 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
For package maintainers and hackage trustees