linux-inotify: Thinner binding to the Linux Kernel's inotify interface
This is a binding for GHC 7 to the Linux Kernel's inotify interface, which provides notifications to applications regarding file system events, such as file creation, modification, deletion, etc.
Some of the advantages over hinotify are:
linux-inotify provides a plain getEvent operator that blocks, instead of implementing a callback API.
linux-inotify avoids most of GHC's standard IO handling code, relying on plain system calls with minimal overhead in Haskell-land. (However, it still does make good use of GHC's IO manager via nonblocking inotify sockets and threadWaitRead, so getEvent is still efficient.)
linux-inotify does not call forkIO, which means less context switching and scheduling overhead, especially in contexts where hinotify's particular event router isn't a very good fit for your application; e.g. you are implementing a following log file processor.
Some of the disadvantages compared to hinotify are:
Due to the use of
inotify_init1, `linux-inotify` currently requires linux 2.6.27 or later, even thoughinotifysupport debuted in linux 2.6.13. You can check which version of linux is on a machine viauname`-a`. I would like to fix this at some point, but it isn't a personal priority.`linux-inotify` requires GHC 7.8.1 or later, whereas
hinotifyworks with many versions of GHC 6. I have no plans to fix this.
Downloads
- linux-inotify-0.3.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.0, 0.1.0.1, 0.2.0.0, 0.2.0.1, 0.3.0.0, 0.3.0.1, 0.3.0.2 (info) |
|---|---|
| Change log | CHANGES.md |
| Dependencies | base (>=4.7 && <5), bytestring (>=0.10.4), hashable (>=1.1.2), semigroups (>=0.18 && <0.19), unix [details] |
| License | BSD-3-Clause |
| Copyright | (c) 2013-2015 Leon P Smith |
| Author | Leon P Smith |
| Maintainer | leon@melding-monads.com |
| Category | System |
| Source repo | head: git clone http://github.com/lpsmith/linux-inotify this: git clone http://github.com/lpsmith/linux-inotify(tag v0.3.0.1) |
| Uploaded | by wraithm at 2020-07-30T01:56:38Z |
| Distributions | NixOS:0.3.0.2 |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 4492 total (11 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2020-07-30 [all 1 reports] |