Some hours ago I have just merged a big squashed commit into the
master branch of the second part of my GSoC project.
The code is the implementation of the inotify emulation and a test application. Not all the planned events are supported currently, but it is just a question of time.
During the last two weeks I have changed some design decisions and rewrote some pieces of code some times. The general complication is in the inotify behavior: when you start watching a directory, inotify also watches all the files in this directory. So we have a dependency between a user-supplied entry (a directory) and automatically watched entries (the files of that directory). Obviously, the dependency files should be also monitored and events from them should be fired to user. Manipulating with this mess on C is an unforgettable experience :)
Now the library has come to its final conceptual form, however I will write more detailed overview a bit later, after a set of refactorings and clean-ups.
The screenshot below illustrates what and how it works:
A larger version (20K) is also available.