git » libfilo » master » tree

[master] / README

libfilo - A library for file locking.
Alberto Bertogli (

This is a small portable library to do userspace file locking, like fcntl(),
lockf() or flock(), but within threads.

If you want multiple threads to access a file simultaneously, you will
probably need some kind of locking to avoid them stepping on each other and
corrupting everything.

Currently, there is no standard way of doing this:
 * fcntl() ignores threads, and only works between processes.
 * flock() is not really standard and doesn't work well over NFS.
 * lockf(), while it is documented in POSIX, it's often implemented using
	fcntl() so it's also useless.

So this library allows you to do read/write file locking with byte
granularity with fcntl-like semantics within threads and entirely in
userspace. What a deal.

To see how to install it, please read the INSTALL file. Then, you can read the
manpage with "man libfilo".

It is licensed under the Open Software License version 2.1.

Comments and patches are always welcome; please send them to my email address,