The last two weeks I have spent passing my last exams and working on gio/kqueue backend improvements. The code has been reviewed by two developers from
gtk-devel-list@ , Dan Winship and Colomban Wendling. They have pointed out a set of issues regarding the coding style, overkills and reimplementations of already existed routines, and so on.
My mentor Julio Merino also has posted some comments regarding the code.
There are two commits, a big squashed one and another one , they contain all the necessary changes.
Now the development of the backend turns into its final stage. All the expected functionality is implemented, and the further plans are:
- Tests, tests, tests. I perform so-called “smoke testing” with my Smalltalk script after every commit, but will write some simple unit tests too. Also, I will try to compile and run GNOME with my glib tree, it would be a good stress test for the backend :)
- Documentation. The code is already commented well with the gtk-doc formatting, but it is just a reference documnenation. I will summarize design decisions and other stuff in a separate document, and probably some posts from this blog will be included there too.
- I am plagued by vague doubts regarding similarities and differences of inotify and kqueue backends behavior. Currently I am setting up the build environment for Glib on my Debian netbook to check how the inotify backend really behaves. If the difference will be significant, I will probably adjust the kqueue backend to behave like the inotify one. The aim is to avoid surprising developers of the end-user software with signalling some unexpected events, which should not occur in a that conditions with the inotify backend.
Also, I have just created a new Git repo for the second part of the project. Stay tuned!