Name: select Version: 0.1 Synopsis: Give the select(2) POSIX function a simple STM interface Homepage: http://nonempty.org/software/haskell-select License: BSD3 License-file: LICENSE Author: Gard Spreemann Maintainer: Gard Spreemann Copyright: 2012 Gard Spreemann Category: System Build-type: Simple Extra-source-files: src/System/Posix/IO/Select/select_wrapper.c src/System/Posix/IO/Select/select_wrapper.h Cabal-version: >=1.2 Description: 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 an 'MVar', respectively. . ["System.Posix.IO.Select.STM"] and "System.Posix.IO.Select.MVar" do the above for @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. . /CAVEAT/: I'm not an experienced Haskeller, and this is my first foray into FFI in general. Library Exposed-modules: Control.Concurrent.MVarIO, Control.Concurrent.STM.TMVarIO, System.Posix.IO.Select, System.Posix.IO.Select.STM, System.Posix.IO.Select.Types, System.Posix.IO.Select.MVar hs-source-dirs: src Build-depends: base >= 4 && <5, vector, stm c-sources: src/System/Posix/IO/Select/select_wrapper.c cc-options: -std=c99 -Wall -DNDEBUG