+2008-04-01 Timo Hoenig <thoenig@suse.de>
+
+ Patch from Frederic Crozat <fcrozat@mandriva.com>
+
+ * bus/dir-watch-inotify.c (bus_watch_directory): Only monitor
+ IN_CLOSE_WRITE, IN_DELETE, IN_MOVE_TO and IN_MOVE_FROM events. This
+ way, only atomic changes to configuration file are monitored.
+ * bus/dir-watch-inotify.c (_handle_inotify_watch): Fix typo in
+ _dbus_verbose function call
+ * bus/dir-watch-inotify.c (bus_drop_all_directory_watches): Use
+ _dbus_strerror instead of perror
+
2008-03-31 Colin Walters <walters@verbum.org>
Patch from Owen Taylor <otaylor@redhat.com>
ret = read (inotify_fd, buffer, INOTIFY_BUF_LEN);
if (ret < 0)
- _dbus_verbose ("Error reading inotify event: '%s'\n, _dbus_strerror(errno)");
+ _dbus_verbose ("Error reading inotify event: '%s'\n", _dbus_strerror(errno));
else if (!ret)
_dbus_verbose ("Error reading inotify event: buffer too small\n");
goto out;
}
- wd = inotify_add_watch (inotify_fd, dir, IN_MODIFY | IN_CREATE | IN_DELETE);
+ wd = inotify_add_watch (inotify_fd, dir, IN_CLOSE_WRITE | IN_DELETE | IN_MOVED_TO | IN_MOVED_FROM);
if (wd < 0)
{
_dbus_warn ("Cannot setup inotify for '%s'; error '%s'\n", dir, _dbus_strerror (errno));
_dbus_verbose ("Dropping all watches on config directories\n");
ret = close (inotify_fd);
if (ret)
- _dbus_verbose ("Error dropping watches: '%s'\n", perror(ret));
+ _dbus_verbose ("Error dropping watches: '%s'\n", _dbus_strerror(errno));
num_wds = 0;
inotify_fd = -1;