I've made a small bindings for inotify, aka linux file system notification
It's available here:
or the archive is directly here:
You need a really recent glibc to have inotify syscall available
through /usr/include/sys/inotify.h. I didn't bother putting some code
to handle old glibc, but I accept patch :)
The archive contains an example program on how to use the interface.
Caml-list mailing list. Subscription management:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
I think OMake includes bindings for gamin. Or FAM which is the older
SGI-based daemon, but gamin is C API compatible with FAM.
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Internet Marketing and AdWords courses - http://merjis.com/courses - NEW!
Merjis blog - http://blog.merjis.com - NEW!
it seems to be talking FAM.
> Or FAM which is the older
> SGI-based daemon, but gamin is C API compatible with FAM.
Sounds more like a bad thing than a good thing to me.
Direct inotify binding are much smaller/simpler anyway.
> On Tue, Nov 21, 2006 at 11:55:46PM +0000, Richard Jones wrote:
>> On Tue, Nov 21, 2006 at 09:18:34PM +0100, Vincent Hanquez wrote:
>>> I've made a small bindings for inotify, aka linux file system notification
>>> new subsystem.
>> I think OMake includes bindings for gamin.
> it seems to be talking FAM.
Actually, in our LibMojave (which is what OMake uses) we have bindings for:
- Gamin (using either the generic FAM interface, or taking advantage of
- kqueue (FreeBSD, OS X)
- inotify (Linux)
- ??? (Win32) - not sure what exactly is used there
In all five cases, we provide the _same_ fam-style interface on the
OCaml side. We also have OMake autoconf-style scripts that can detect
which of the fours notification mechanisms is present on a specific
machine and use the appropriate one.
> Sounds more like a bad thing than a good thing to me.
> Direct inotify binding are much smaller/simpler anyway.
That might be true, but only if you happen to be on a machine that
provides inotify. We do utilize inotify if it is present, but we also
have an option of using one of the other four when there is no inotify.