They were written to find problems in GList usage, but were causing gamin
to segfault on 4.X. Disable debugging by default, and only use the debugging
versions of g_list_* if debugging is enabled.
Additionally, add <string.h> to gam_api.c which would certainly fix problems
on 4.X alpha.
Reported by: Stefan Thurner <thurners@nicsys.de>
- also use kqueue to monitor files within a monitored directory
- tremendously improve the scalability of the backend when
monitoring very large directories
- periodically attempt to switch polled files to kqueue notification
- do not perform an extra useless lstat() when a missing file is created
- code cleanups
Approved by: marcus
* Do not send an ENDEXISTS event on NOTE_REVOKE
* Handle kevent aggregation if multiple event types are requested
* Mimic FAM's behavior of never following symbolic links
* Add exhaustive error handling
* Remove all the legacy thread-safe code since gamin is now single-threaded
PR: 79680
Submitted by: Jean-Yves Lefort <jylefort@brutele.be>
not monitor it anymore. The patch fixes the issue by adding
moved/removed files to the exist_list, so that gamin detects when
they are recreated
* No CHANGED event is emitted for the files contained in a monitored
directory, because kqueue can't do that. The patch adds periodic
polling for these files
* Instead of calling kevent() every second, the patch uses an I/O
watch (g_io_add_watch())
PR: 79605
Submitted by: Jean-Yves Lefort <jylefort@brutele.be>
used as a drop-in replacement for FAM. Gamin is designed to be more secure
than FAM as itdoes not require RPC, and runs a separate instance for each
user. While it is API and ABI compatible with FAM, it does not [yet]
support all of FAM's features.
This version of gamin comes with an optional (defaults to on) kqueue
backend for FreeBSD. This backend can only be used with UFS file
systems. If you need FAM-like support on non-UFS file systems, you
must build without the kqueue backend.