Mon Oct 20 18:05:19 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* server/local_inotify.h server/local_inotify_syscalls.h: remove
	  the local copies of the linux kernel inotify headers
	* configure.in server/inotify-kernel.c server/inotify-helper.c
	  server/gam_inotify.c server/inotify-path.c server/Makefile.am:
	  associated cleanups, check for the presence of sys/inotify.h
	  and use it, patch by  Adrian Bunk, solves #553158

Mon Oct 20 17:39:28 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* Makefile.am configure.in: add configure switches to restrict
	  building the server or the libs, as Gentoo had a dependancy
	  problem, default behaviour of building both unchanged,
	  patch from Rémi Cardona #530635

Mon Oct 20 17:35:20 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* Makefile.am configure.in python/Makefile.am: simplify python
	  bindings installation, patch from Rémi Cardona #530635

Mon Oct 20 17:25:48 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* configure.in: the glib dependency is not needed for libgamin,
	  patch from Rémi Cardona #530635

Mon Oct 20 17:19:01 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* Makefile.am: change daemon build flags, patch from Rémi Cardona

2008-08-15  Matthias Clasen  <mclasen@redhat.com>

	Bug 403158 - Leak reported by valgrind

	* server/gam_fs.c (gam_fs_free_filesystems): Don't skip
	every second list element when freeing.

Wed Jun 11 12:27:02 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* acinclude.m4: add quotes for AC_STRUCT_ST_MTIM_NSEC, patch
	  from Daichi Kawahata, fixes #319868

Tue Jun  3 17:30:51 CEST 2008 Daniel Veillard <veillard@redhat.com>

	* configure.in: patch from dodji seketeli to change configure.in
	  to use AC_USE_SYSTEM_EXTENSIONS instead of AC_ISC_POSIX, otherwise
	  struct ucred won't show up.

2008-04-04  Ray Strode  <rstrode@redhat.com>

	* server/inotify-path.c
	(ip_watch_parent), (ip_start_watching), (ip_event_dispatch),
	(ip_event_callback): If a file being watched doesn't exist
	yet, then watch its parent to find out when it shows up
	instead of polling (bug 476938).

Mon Aug 27 12:22:40 CEST 2007 Daniel Veillard <veillard@redhat.com>

	* libgamin/fam.h libgamin/gam_api.c: applied suggested changes
	  from Ryan Underwood about missing (empty) entry point in the
	  API and ABI, should close 398405.

Mon Aug  6 10:39:13 CEST 2007 Daniel Veillard <veillard@redhat.com>

	* configure.in: applied patch from Daniel Drake to fix the way
	  optimizatio and debug flags are handled, fixes #450262

Fri Jul 27 16:50:02 CEST 2007 Daniel Veillard <veillard@redhat.com>

	* NEWS configure.in doc//*: prepare release of 0.1.9 rebuild the docs

Wed Jul  4 15:37:23 CEST 2007 Daniel Veillard <veillard@redhat.com>

	* server/gam_kqueue.c server/gam_poll_basic.c: changes from
	  Brendan Cully to compile on OS X

2007-07-03  Ray Strode  <rstrode@redhat.com>

	* server/gam_service.c:
	* server/gam_fs.c:
	* server/gam_fs.h: always poll if --disable-inotify and
	--disable-dnotify are passed (bug 335411).

2007-04-11  Alexander Larsson  <alexl@redhat.com>

        * server/inotify-helper.c:
        * server/inotify-kernel.c:
        * server/inotify-path.c:
	Handle inotify initialization failing better by
	only setting initialized to TRUE if initialization
	succeeded.
	Patch from Robert Clark (robert3@ratty.org.uk)

2007-03-07  Alexander Larsson  <alexl@redhat.com>

	* server/gam_poll_basic.c (gam_poll_basic_poll_file):
	Don't run polling idle handler if not needed.

Mon Nov 20 18:01:03 CET 2006 Daniel Veillard <veillard@redhat.com>

	* libgamin/gam_data.c: applied patches based on Michael Banck
	  suggestions to build on Hurd and kFreeBSD, should fix #377050
	  and #377066

2006-11-20  Alexander Larsson  <alexl@redhat.com>

	* server/gam_inotify.c: (gam_inotify_init):
	Enable the basic polling code for the inotify
	backend so e.g. polling on NFS works.

Tue Oct 31 15:33:28 CET 2006 Daniel Veillard <veillard@redhat.com>

	* NEWS configure.in doc//*: prepare release of 0.1.8 rebuild the docs

Wed Oct 25 18:14:11 CEST 2006 Daniel Veillard <veillard@redhat.com>

	* configure.in: applied atch from James Andrewartha fixing
	  compilation with Sun's compiler c.f. #365029

2006-09-08  Alexander Larsson  <alexl@redhat.com>

	* server/gam_inotify.c: (gam_inotify_send_initial_events):
	Send correct initial events for missing files

2006-09-08  Alexander Larsson  <alexl@redhat.com>

	* server/gam_connection.c: (gam_connection_close):
	Don't remove 0 source (from connection flush timeout fix)
	
	* server/gam_inotify.c: (gam_inotify_add_subscription):
	Add the sub to the listener so it will get freed with it
	
	* server/inotify-helper.c: (ih_sub_foreach_worker):
	Don't free sub_list items twice
	
	* server/inotify-sub.c: (ih_sub_get_filename):
	Actually get the filename

2006-09-05  Alexander Larsson  <alexl@redhat.com>

	* lib/gam_error.c:
	* libgamin/gam_api.c:
	* server/gam_connection.[ch]:
	* server/gam_server.[ch]:
	Don't use running timers for server idle timeout
	and debug signal handler.

2006-09-05  Alexander Larsson  <alexl@redhat.com>

	* server/gam_connection.c: 
	* server/gam_eq.[ch]:
	Only run connection flush timeout when needed.

2006-09-05  Alexander Larsson  <alexl@redhat.com>

	* server/gam_inotify.c: (gam_inotify_init):
	Install kernel monitoring hooks to fix previous commit.

2006-09-04  John McCutchan  <john@johnmccutchan.com>

	* server/Makefile.am:
	* server/gam_inotify.c: Ported to inotify-helper.
	* server/inotify-diag.c: inotify-helper debug output
	* server/inotify-helper.c: easy interface to inotify
	* server/inotify-kernel.c: kernel part of inotify-helper
	* server/inotify-missing.c: missing list part of inotify-helper
	* server/inotify-path.c: path based interface for inotify-kernel
	* server/inotify-sub.c: inotify-helper subscription
	* server/local_inotify.h: Updated to latest version
	* server/local_inotify_syscalls.h: Updated to latest version

	The above amounts to a complete replacement of gamin's inotify
	backend with the current gnome-vfs backend.

2006-08-28  Alexander Larsson  <alexl@redhat.com>

	* libgamin/gam_data.c: (gamin_data_reset):
	Empty read-buffer on connection reset.
	Patch from Ariel T. Glenn

2006-08-22  Alexander Larsson  <alexl@redhat.com>

	* libgamin/gam_fork.c: (gamin_fork_server):
	Open fd 0-2 to /dev/null to avoid possible problems if things
	write to them.

2006-08-16  Alexander Larsson  <alexl@redhat.com>

	* libgamin/gam_api.c: (gamin_check_cred), (gamin_try_reconnect):
	Never close the connection fd until FAMClose. That can easily
	cause clients to use 100% cpu with a closed fd getting into
	the main loop. (#351633)

Fri Aug 11 12:52:34 CEST 2006 Daniel Veillard <veillard@redhat.com>

	* python/Makefile.am: applied patch from Loïc Minier to allow install
	  when built out of tree.
	* configure.in: fix python detection code, updated with libxml2 one.

Fri Aug 11 11:35:50 CEST 2006 Daniel Veillard <veillard@redhat.com>

	* libgamin/gam_data.c: applied patch from Loïc Minier/Petr Salinger
	  to build on GNU/kFreeBSD

Tue Apr 25 16:40:31 CEST 2006 Daniel Veillard <veillard@redhat.com>

	* configure.in: applied patch from Joseph Sacco for python detection
	  should close bug #338524
	* configure.in server/gam_inotify.c server/local_inotify_syscalls.h:
	  get the damn thing to compile again on Fedora Core 5
	* libgamin/gam_data.c: cleanup

2006-04-19  Bastien Nocera  <hadess@hadess.net>

	* lib/gam_error.c: (gam_error_init): avoid changing the signal at all
	as it would break applications if they setup their signal handlers
	with sigaction, and used the SA_SIGINFO flag (which would change
	the number of arguments to the handler)

Mon Mar  6 13:52:40 CET 2006 Daniel Veillard <veillard@redhat.com>

	* gamin.pc.in: fix cflags for pkg-config as raised by
	  Claudio Fontana in the mailing-list

Thu Nov 24 17:15:49 CET 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in server/gam_inotify.c: inotify.h may be found
	  under <sys/inotify.h> too

Thu Oct 27 15:28:14 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in gamin.spec.in NEWS doc/*: release of 0.1.7

Thu Oct 27 13:00:25 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_listener.c: applied patch from Ed Catmur fixing 
	  gam_server segfaulting on inotify backend, should fix #319697

Thu Oct 27 12:51:17 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in libgamin/gam_fork.c tests/testing.c: applied patch
	  from Daichi Kawahata to compile on systems without setenv()

Tue Oct 25 2005  Christopher Aillon  <caillon@redhat.com>

	* server/gam_dnotify.c:
	* server/gam_hurd_mach_notify.c:
	* server/gam_inotify.c:
	Fix up minor leaks of GSource*

Thu Sep 22 10:07:30 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_connection.c: reproduced RH bug #168744, one need to
	  force nfs mounts to use poll and run from nfs. Seems to have a
	  fix for it.

Thu Sep 22 08:54:55 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* tests/Makefile.am: cleanups for make valgrind

Tue Sep 20 17:12:28 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_connection.c: trying to fix RH bug #168744

Sat Sep 10 12:46:38 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_connection.c: fixed a portability problem raised by
	  Sjoerd Simons

Fri Sep  9 13:08:09 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* libgamin/gam_data.c: portability fix for non glibc systems
	  fixes bug #315615 by Diego Pettenò

Fri Sep  9 12:43:53 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in: I lost one of the changes for #315368 as pointed by
	  Joseph Sacco

Thu Sep  8 14:55:07 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* NEWS doc/gamin.html doc/news.html: release of 0.1.6
	* configure.in: release of 0.1.6 and python detection fix #315368
	* Makefile.am tests/Makefile.am: adding make valgrind now that
	  3.0.1 works fine.

Thu Sep  8 08:10:15 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_listener.c server/gam_connection.c: removing the 
	  subscriptions memory leaks when running under inotify
	* server/gam_server.c: need to make a pass over all C files to
	  fix the headers and Copyrights

Thu Sep  8 10:01:15 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* lib/gam_error.c: restore stderr debug on GAM_DEBUG

Fri Sep  2 11:17:17 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* tests/testing.c: applied patch from TomPh adding link and chown
	  commands.
	* tests/scenario/10.tst: patch from TomPh fixing the number of
	  events to expect

Fri Sep  2 10:57:12 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in: applied the 3 patches from TomPh plus a bit of
	  tweaking to not enable the debug api by default

2005-08-24  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_is_link): Revert my last change.

2005-08-23  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_is_link): Use IFLNK instead of ISLNK.

2005-08-22  John McCutchan  <ttb@tentacle.dhs.org>

	* configure.in: White noise.
	* python/tests/dnotify2.py: Print some debug output.
	* server/gam_debugging.h: Remove the inotify definitions (they were never
	used).
	* server/gam_poll_basic.c: (gam_poll_basic_poll_file): Fix a poll limiter
	bug.
	* server/gam_poll_generic.c: (gam_poll_generic_remove_missing): Remove an
	assertion that was causing a crash.
	(gam_poll_generic_scan_directory_internal): Fix a poll limiter bug

2005-08-19  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll_dnotify.c: (gam_poll_dnotify_scan_callback): Sprinkle in
	some asserts.

2005-08-19  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll_basic.c: (gam_poll_basic_poll_file),
	(gam_poll_basic_scan_callback): Fix another crasher.

2005-08-19  John McCutchan  <ttb@tentacle.dhs.org>

	* TODO: Clarify a TODO item.
	* lib/gam_error.c: (gam_error_handle_signal), (gam_error_signal),
	(gam_error_init), (gam_error_check), (gam_errno), (gam_error),
	(gam_debug): Fix a bug in starting up /tmp/gamin debug stream.
	* server/gam_poll_generic.c:
	(gam_poll_generic_scan_directory_internal): Fix crasher.

2005-08-19  John McCutchan  <ttb@tentacle.dhs.org>

	Patch from TomPh <tpgww@onepost.net>

	* configure.in: Properly define HAVE_LINUX when configured with
	--disable-kernel. Clear up build options. debug & debug-api disabled by
	default unless CVS directory exists. Use -Ox optimization only when -g is not
	used.
	* server/Makefile.am: make some _SOURCES conditional on ENABLE_INOTIFY &
	ENABLE_DNOTIFY.

2005-08-18  John McCutchan <ttb@tentacle.dhs.org>

	* python/tests/basic4.py: show callback debug
	* server/gam_inotify.c: (gam_inotify_init): Enable the basic poll
	backend. The basic backend will be used for paths/filesystems marked
	as poll when inotify is enabled
	* server/gam_poll_basic.c: (gam_poll_basic_init),
	(gam_poll_basic_poll_file), (gam_poll_basic_scan_callback):
	* server/gam_poll_generic.c:
	(gam_poll_generic_scan_directory_internal): Bug fixes to poll
	backends. 

2005-08-17  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_add_subscription),
	(gam_inotify_remove_subscription), (gam_inotify_nolonger_missing),
	(gam_inotify_nolonger_link), (gam_inotify_add_link),
	(gam_inotify_scan_links), (gam_inotify_stat_changed),
	(gam_inotify_poll_link): Redo link handling. This should work around the
	race. Also fixed some real bugs in the last iteration.

2005-08-16  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_data_new),
	(gam_inotify_process_event), (gam_inotify_send_initial_events),
	(gam_inotify_add_subscription), (gam_inotify_remove_subscription),
	(gam_inotify_init), (gam_inotify_is_missing),
	(gam_inotify_add_missing), (gam_inotify_rm_missing),
	(gam_inotify_nolonger_missing), (gam_inotify_scan_missing),
	(gam_inotify_is_link), (gam_inotify_nolonger_link),
	(links_list_compare), (gam_inotify_add_link),
	(gam_inotify_rm_link), (gam_inotify_scan_links): Attempt to handle links
	according to the FAM specification. Racey as hell.
	* server/gam_subscription.c: (gam_subscription_shutdown):
	* server/gam_subscription.h: Add shutdown function -- not used though.

2005-08-16  John McCutchan  <ttb@tentacle.dhs.org>

	* server/Makefile.am:
	* server/gam_poll_basic.c: (gam_poll_basic_init),
	(gam_poll_basic_add_subscription),
	(node_remove_directory_subscription),
	(gam_poll_basic_remove_subscription),
	(gam_poll_basic_remove_all_for), (gam_poll_generic_node_changed),
	(gam_poll_basic_poll_file), (gam_poll_basic_scan_callback):
	* server/gam_poll_basic.h: Add a basic poll backend that does pretty much
	what the dnotify poll backend does, but without any kernel support.
	* server/gam_server.h: Fix typo.

2005-08-15  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_process_event): Change debug output

2005-08-15  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_dnotify.c: (gam_dnotify_directory_handler_internal):
	* server/gam_poll_dnotify.c: (gam_poll_dnotify_delist_node),
	(node_remove_subscription):
	* server/gam_poll_generic.c:
	(gam_poll_generic_trigger_file_handler):
	* server/gam_server.h: s/DESACTIVATE/DEACTIVATE

2005-08-15  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (mask_to_gam_event),
	(gam_inotify_mask_to_gam_file_event),
	(gam_inotify_mask_to_gam_dir_event), (gam_inotify_process_event): Treat
	IN_MOVE_SELF the same as IN_DELETE_SELF
	* server/local_inotify.h: Updated
	* server/local_inotify_syscalls.h: Updated

2005-08-15  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll_dnotify.c: (gam_poll_dnotify_poll_file),
	(gam_poll_dnotify_scan_callback): Fix compilation when #define
	POLL_VERBOSE is set.

2005-08-15  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll.c:
	* server/gam_poll.h: Remove old files

2005-08-15  John McCutchan  <ttb@tentacle.dhs.org>

	* lib/gam_error.c: (gam_error), (gam_errno):
	* lib/gam_error.h: Move gam_errno here (was in gam_poll)
	* server/Makefile.am:
	* server/gam_dnotify.c: (gam_dnotify_pipe_handler),
	(gam_dnotify_init):
	* server/gam_dnotify.h: Adapt to gam_poll_generic/gam_poll_dnotify.
	* server/gam_inotify.c: (gam_inotify_init):
	* server/gam_inotify.h: Adapt to gam_poll_generic/gam_poll_dnotify.
	* server/gam_node.c: (gam_node_emit_event):
	* server/gam_node.h: Rename gam_poll_emit_event to gam_node_emit_event.
	* server/gam_poll_dnotify.c: (gam_poll_dnotify_init),
	(gam_poll_dnotify_delist_node), (gam_poll_dnotify_relist_node),
	(gam_poll_dnotify_flowon_node), (gam_poll_dnotify_flowoff_node),
	(gam_poll_dnotify_poll_file), (node_add_subscription),
	(node_remove_subscription), (node_remove_directory_subscription),
	(gam_poll_dnotify_add_subscription),
	(gam_poll_dnotify_remove_subscription_real),
	(gam_poll_dnotify_remove_subscription),
	(gam_poll_dnotify_remove_all_for),
	(gam_poll_dnotify_scan_callback):
	* server/gam_poll_dnotify.h: Dnotify specific portions of gam_poll.[ch]
	* server/gam_poll_generic.c: (gam_poll_generic_init),
	(gam_poll_debug_node), (gam_poll_generic_debug),
	(gam_poll_generic_add_missing), (gam_poll_generic_remove_missing),
	(gam_poll_generic_add_busy), (gam_poll_generic_remove_busy),
	(gam_poll_generic_add), (gam_poll_generic_remove),
	(gam_poll_generic_get_time), (gam_poll_generic_update_time),
	(gam_poll_generic_get_delta_time),
	(gam_poll_generic_trigger_file_handler),
	(gam_poll_generic_trigger_dir_handler),
	(gam_poll_generic_trigger_handler),
	(gam_poll_generic_scan_directory_internal),
	(gam_poll_generic_scan_directory),
	(gam_poll_generic_first_scan_dir), (gam_poll_generic_get_tree),
	(gam_poll_generic_get_missing_list),
	(gam_poll_generic_get_busy_list), (gam_poll_generic_get_all_list),
	(gam_poll_generic_get_dead_list),
	(gam_poll_generic_unregister_node), (gam_poll_generic_prune_tree):
	* server/gam_poll_generic.h: Generic portions of gam_poll.[ch]
	* server/gam_server.c: (gam_show_debug), (gam_init_subscriptions),
	(gam_server_install_poll_hooks), (gam_poll_remove_all_for),
	(gam_poll_file):
	* server/gam_server.h: Adapt to poll changes. Add poll_file callback for
	poll backend.

2005-08-11  John McCutchan  <ttb@tentacle.dhs.org>

	* lib/gam_error.c: (gam_error_init): 
	* server/gam_node.c: (gam_node_set_pflag), (gam_node_unset_pflag),
	(gam_node_has_pflag), (gam_node_set_pflags), (gam_node_has_pflags):
	* server/gam_node.h: Move MON_* pflags into gam_node. Add access/mutators
	for pflags. 
	* server/gam_poll.c: (trigger_file_handler),
	(node_remove_subscription), (poll_file),
	(gam_poll_scan_directory_internal), (gam_poll_scan_callback),
	(gam_poll_scan_all_callback), (gam_poll_init),
	(gam_default_poll_add_subscription), (gam_poll_first_scan_dir),
	(gam_poll_debug_node), (gam_poll_debug): Convert all code touching
	->pflags to use the access/mutators from gam_node. Indentation fixes.

2005-08-11  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_server.c: (gam_init_subscriptions): If the environment
	variable GAM_TEST_DNOTIFY is set, inotify won't be used.

Thu Aug 11 10:57:19 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_server.c: fixed compilation when inotify support
	  is not configured in.

Wed Aug 10 23:59:02 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* libgamin/gam_data.c server/gam_kqueue.c server/gam_pidname.c
	  server/gam_server.c: applied portability patch from Johnny Lam
	  for NetBSD.

2005-08-10  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_dnotify.c: (gam_dnotify_add_subscription),
	(gam_dnotify_remove_subscription), (gam_dnotify_remove_all_for): Remove
	the consume_subscription garbage.
	* server/gam_listener.c:
	* server/gam_poll.c: (gam_poll_scan_all_callback),
	(gam_default_poll_add_subscription),
	(gam_default_poll_remove_subscription), (gam_poll_first_scan_dir): Remove
	consume subscription garbage
	* server/gam_poll.h: Again.
	* server/gam_subscription.c: Typo

	Both test suites pass under dnotify with these changes.

2005-08-10  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_dnotify.c: (gam_dnotify_init): Use the new
	gam_server_install_kernel_hooks.
	* server/gam_inotify.c: (gam_inotify_init): Here to
	* server/gam_poll.c: (trigger_dir_handler), (trigger_file_handler),
	(gam_poll_init_full), (gam_default_poll_add_subscription),
	(gam_default_poll_remove_subscription_real),
	(gam_default_poll_remove_subscription),
	(gam_default_poll_remove_all_for): Use the gam_kernel_dir/file_handler
	from gam_server.h instead of dir/file_handler.
	* server/gam_poll.h: Move a bunch of functions to gam_server.h
	* server/gam_server.c: (gam_exit), (gam_init_subscriptions),
	(gam_add_subscription), (gam_remove_subscription),
	(gam_server_install_kernel_hooks), (gam_server_install_poll_hooks),
	(gam_server_get_kernel_handler), (gam_server_get_poll_handler),
	(gam_kernel_add_subscription), (gam_kernel_remove_subscription),
	(gam_kernel_remove_all_for), (gam_kernel_dir_handler),
	(gam_kernel_file_handler), (gam_poll_add_subscription),
	(gam_poll_remove_subscription), (gam_poll_remove_all_for): Provide
	a set of generic kernel/poll backend functions. Now poll backends are pluggable.
	Code now uses these instead of the backend_ variables.
	* server/gam_server.h: Function prototypes.

	Both test suites pass under dnotify with these changes.

Tue Aug  9 21:27:24 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in NEWS doc/config.html doc/gamin.html doc/news.html
	  gamin.spec.*: real release of gamin-0.1.5

2005-08-09  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_emit_one_event): Free pathname on
	error.

Tue Aug  9 21:10:38 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in NEWS doc/config.html doc/gamin.html doc/news.html:
	  doc update and release of gamin-0.1.4

2005-08-09  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_server.c: (gam_init_subscriptions): Revert part of last
	commit that disabled inotify all the time.

2005-08-09  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll.c: (gam_poll_scan_callback),
	(gam_poll_scan_all_callback), (gam_poll_init_full),
	(gam_poll_consume_subscriptions): More debug output
	* server/gam_server.c: (gam_init_subscriptions),
	(gam_add_subscription), (gam_remove_subscription): Fix bug with dnotify
	backend and a subscription that is on the exclude list. What was happening
	was that we were calling gam_poll_add_subscription in that case, but when
	the dnotify backend is enabled the poll backend is in a different mode. So
	these subscriptions was never consumed. I special cased for when inotify
	is not running to call the backend_add_subscription even when the item is
	on the exclude list. The dnotify backend has code to deal with excluded
	subscriptions.

Tue Aug  9 18:18:13 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_channel.c: fixed some problem if debugging is enabled
	* server/gam_poll.c server/gam_poll.h server/gam_server.c: added 
	  poll debugging informations

2005-08-09  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_node.c: (gam_node_new): Add some debug messages
	* server/gam_server.c: (gam_add_subscription): Here to

2005-08-08  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_event_pair_with),
	(gam_inotify_read_handler): Don't process internal queue after reading
	from the device. Change some debug options.

2005-08-08  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_event_new),
	(gam_inotify_process_internal), (gam_inotify_process_event_queue),
	(gam_inotify_init): Fix stupid bug in move pairing code that was slowing 
	things down big time. Make timings #defines, process the event queue @ 30
	Hz. Process the internal event queue @ 30 Hz and when events are read from
	the device fd.

2005-08-08  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_event_new),
	(gam_inotify_event_pair_with),
	(gam_inotify_event_add_microseconds), (gam_inotify_event_ready),
	(gam_inotify_process_event), (gam_inotify_pair_moves),
	(gam_inotify_process_internal), (gam_inotify_process_event_queue),
	(gam_inotify_read_handler), (gam_inotify_init), (g_timeval_eq):
	Implemented pairing of MOVED_FROM and MOVED_TO events. Waiting for gamin
	to support this event, but it will be trivial to hook up in inotify now.
	* server/local_inotify_syscalls.h: Added ia64 and s390 system call
	numbers. Added a couple aliases for ppc.
	* tests/testing.c: (processCommand): Added "move" command.

Mon Aug  8 23:15:45 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/local_inotify_syscalls.h: applied patch fixing compilation
	  on ppc, alpha and sparc, fixes bug #312934 though incomplete list

2005-08-08  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_mask_to_gam_file_event),
	(gam_inotify_mask_to_gam_dir_event),
	(gam_inotify_process_event_queue), (gam_inotify_remove_all_for): Add some
	comments and refactor some code.

2005-08-05  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_conf.c: (gam_conf_read): Fix build.
	* server/gam_inotify.c: (gam_inotify_process_event_queue),
	(gam_inotify_read_handler), (gam_inotify_init), (g_timeval_lt),
	(t_timeval_eq): Process the inotify event queue in a timer. Add GTimeVal
	comparision predicates. This is the beginning of pairing move events
	together.

2005-08-05  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_connection.c: (gam_connection_new): Change event queue flush
	to 100 ms.

2005-08-05  John McCutchan  <ttb@tentacle.dhs.org>

	* doc/config.html:
	* doc/gamin.html: Update documentation

2005-08-05  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll.c: (node_add_subscription),
	(node_remove_subscription), (gam_poll_delist_node),
	(gam_poll_relist_node), (gam_poll_flowon_node),
	(gam_poll_flowoff_node), (poll_file), (gam_poll_scan_callback),
	(gam_poll_first_scan_dir):
	* server/gam_server.c: (gam_add_subscription),
	(gam_remove_subscription):

	Consider fsset options when deciding between kernel/poll/none
	subscription options.

2005-08-05  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_conf.c: (gam_conf_string_to_mon_type),
	(gam_conf_read_internal), (gam_conf_read):
	Make poll timeout value optional, read in /etc/gamin/gaminrc, then
	~/.gaminrc, finally /etc/gamin/mandatory_gaminrc.
	* server/gam_fs.c: (gam_fs_set): Use GAMIN_POLL_DEFAULT when passed -1 for
	poll_timeout.

2005-08-05  John McCutchan  <ttb@tentacle.dhs.org>

	* libgamin/gam_api.c: (gamin_check_cred):
	* server/gam_channel.c: (gam_client_conn_check_cred),
	(gam_client_create):
	* server/gam_dnotify.c: (gam_dnotify_debug):
	* server/gam_tree.c: (gam_tree_add_at_path): Clean up gcc warnings

Fri Aug  5 14:07:24 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* lib/gam_error.h libgamin/gam_api.c libgamin/gam_fork.c python/gamin.c
	  server/gam_debugging.c server/gam_dnotify.c server/gam_eq.c
	  server/gam_fs.c server/gam_inotify.c server/gam_server.c
	  server/gam_server.h server/gam_tree.c tests/testing.c: code cleanups
	  for reports from gcc and sparse.

Fri Aug  5 11:52:56 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* gamin.spec.in: tiny fix for the python package

2005-08-04  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_eq.c: (gam_eq_queue), (gam_eq_flush): Fix a segfault when the
	event queue is empty. Add some GAM_DEBUG's supressed by GAM_EQ_VERBOSE.

2005-08-04  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_inotify.c: (gam_inotify_is_running):
	* server/gam_inotify.h: Add gam_inotify_is_running. Returns TRUE when
	the inotify backend is being used.
	* server/gam_server.c: (gam_server_emit_one_event): Use gam_queue_event
	when gam_inotify_is_running() == TRUE. This should not effect the dnotify
	behaviour.

2005-08-04  John McCutchan  <ttb@tentacle.dhs.org>

	* server/Makefile.am: Compile gam_eq.c
	* server/gam_connection.c: (gam_connection_close),
	(gam_connection_eq_flush), (gam_connection_new), (gam_queue_event):
	* server/gam_connection.h: Hookup the event queue. BUT, It's not used yet.
	* server/gam_eq.c: (gam_eq_event_new), (gam_eq_event_free),
	(gam_eq_new), (gam_eq_free), (gam_eq_queue), (gam_eq_size),
	(gam_eq_flush_callback), (gam_eq_flush):
	* server/gam_eq.h:
	An event queue that will be per-connection when finished. Provides limited
	but effective flow control. 
	* server/gam_poll.c: (poll_file): Enable poll limiter now that we have
	proper defaults for local filesystems.

2005-08-03  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_fs.c: (gam_fs_init): Tweak defaults yet again.

2005-08-03  John McCutchan  <ttb@tentacle.dhs.org>

	* server/Makefile.am:
	* server/gam_conf.c: (gam_conf_string_to_mon_type),
	(gam_conf_read_internal), (gam_conf_read): Move gaminrc parsing code here
	* server/gam_conf.h: Move gaminrc parsing code here
	* server/gam_excludes.c: (gam_exclude_init), (gam_exclude_check),
	(gam_exclude_debug): Make gam_exclude_add public. Add gam_exclude_debug.
	Removed config parsing code from here.
	* server/gam_excludes.h: Make gam_exclude_add public.
	* server/gam_fs.c: Adjust default poll timeout to be 0.
	* server/gam_server.c: (gam_show_debug), (gam_init_subscriptions): call
	gam_exclude_debug() in show_debug() and call gam_conf_read at beginning of
	server initialization.

2005-08-02  John McCutchan <jmc@cvs.gnome.org>

	* server/gam_fs.c: (gam_fs_init): Change some defaults
	* server/gam_inotify.c: (gam_inotify_data_debug),
	(gam_inotify_debug), (mask_to_string), (mask_to_gam_event),
	(gam_inotify_data_new), (gam_inotify_data_free),
	(gam_inotify_event_new), (gam_inotify_event_free),
	(gam_inotify_mask_to_gam_file_event),
	(gam_inotify_mask_to_gam_dir_event), (gam_inotify_emit_one_event),
	(gam_inotify_emit_events), (gam_inotify_process_event),
	(gam_inotify_process_event_queue), (gam_inotify_read_handler),
	(gam_inotify_send_initial_events),
	(gam_inotify_send_initial_events_all),
	(gam_inotify_add_subscription), (gam_inotify_remove_subscription),
	(gam_inotify_remove_all_for), (gam_inotify_init),
	(gam_inotify_add_watch), (gam_inotify_read_events),
	(gam_inotify_is_missing), (missing_list_compare),
	(gam_inotify_add_missing), (gam_inotify_rm_missing),
	(gam_inotify_nolonger_missing), (gam_inotify_scan_missing),
	(gam_inotify_wd_check), (gam_inotify_wd_hash_sanity_check),
	(gam_inotify_missing_check),
	(gam_inotify_missing_list_sanity_check),
	(gam_inotify_sanity_check): Complete re-write of inotify backend. This
	new backend does not use the poll backend at all. It passes all the
	test suite tests except for dnotify15, and flood* because they make
	use of falling back to the poll backend. Because it doesn't use the
	poll backend anymore, memory & CPU usage has been greatly reduced.
	* server/gam_node.c: (gam_node_new): Zero the checks field
	* server/gam_poll.c: (poll_file): Change to poll limiter -- still
	disabled.
	* server/gam_poll.h: Add GAMIN_K_INOTIFY2 backend definition
	* server/gam_server.c: (gam_add_subscription),
	(gam_remove_subscription), (gam_server_emit_one_event): Fix backend
	selection logic.

Tue Aug  2 17:44:53 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* NEWS configure.in gamin.spec.in doc/gamin.html doc/news.html: 
	  prepare release of 0.1.3

2005-08-01  John McCutchan  <ttb@tentacle.dhs.org>

	* server/gam_poll.c: (poll_file): Disable poll limiter so that regression
	tests pass.

2005-08-01  John McCutchan  <ttb@tentacle.dhs.org>

	* lib/gam_error.c: (gam_error_handle_signal): fflush the error stream
	* server/Makefile.am: Add gam_fs and gam_pidname to build
	* server/gam_channel.c: (gam_check_secure_dir):
	* server/gam_connection.c: (gam_reqtype_to_string),
	(gam_connection_set_pid), (gam_connection_request):
	* server/gam_fs.c: (gam_fs_free_filesystems), (gam_fs_find_fs),
	(gam_fs_find_fs_props), (gam_fs_filesystem_sort_cb),
	(gam_fs_scan_mtab), (gam_fs_init), (gam_fs_get_mon_type),
	(gam_fs_get_poll_timeout), (gam_fs_set), (gam_fs_unset),
	(gam_fs_debug):
	* server/gam_fs.h: Persistant storage of what filesystems are mounted and
	where. Adds 2 preferences to each filesystem type, poll interval &
	kernel/poll/none option.
	* server/gam_listener.c: (gam_listener_new), (gam_listener_free),
	(gam_listener_add_subscription),
	(gam_listener_remove_subscription):
	* server/gam_listener.h: Add pidname to debug output
	* server/gam_node.c: (gam_node_new),
	(gam_node_remove_subscription): Fix long standing bug of watches being
	removed at the kernel level while the subscription level thinks they still
	exist. 
	* server/gam_node.h:
	* server/gam_pidname.c: (gam_get_pidname):
	* server/gam_pidname.h: Retrieves the process name for a given pid.
	* server/gam_poll.c: (trigger_dir_handler), (trigger_file_handler),
	(poll_file), (gam_poll_scan_directory_internal),
	(gam_poll_scan_all_callback), (gam_poll_init_full),
	(gam_poll_remove_subscription): Incorporate gam_fs options into logic.
	* server/gam_server.c: (gam_show_debug), (gam_add_subscription),
	(gam_remove_subscription):
	* server/gam_subscription.c: (gam_subscription_new),
	(gam_subscription_free), (gam_subscription_set_listener),
	(gam_subscription_cancel): Debug output changes

2005-08-01  John McCutchan  <jmc@cvs.gnome.org>

	* server/gam_channel.c: (gam_client_conn_send_cred),
	(gam_client_conn_read), (gam_client_conn_write):
	* server/gam_connection.c: (gam_connection_set_pid):
	* server/gam_inotify.c: (gam_inotify_data_free),
	(gam_inotify_directory_handler), (gam_inotify_file_handler),
	(gam_inotify_read_handler),
	(gam_inotify_consume_subscriptions_real),
	(gam_inotify_consume_subscriptions),
	(gam_inotify_add_subscription), (gam_inotify_remove_subscription):
	* server/gam_listener.c: (gam_listener_new), (gam_listener_free),
	(gam_listener_get_pidname), (gam_listener_debug):
	* server/gam_listener.h:
	* server/gam_poll.c: (gam_poll_scan_directory_internal):
	* server/gam_subscription.c: (gam_subscription_set_listener),
	(gam_subscription_cancel): Debug output cleanups

Mon Aug  1 11:46:56 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/Makefile.am server/gam_debug_lists.c: keeping the debug
	  copy around doesn not make sense anymore, removing, fixes #312113

2005-07-21  John McCutchan  <jmc@cvs.gnome.org>

	* server/gam_connection.c: (gam_connection_set_pid): It's fclose not
	f_close ...

2005-07-21  John McCutchan  <jmc@cvs.gnome.org>

	* python/tests/flood.py: Enable debug output while I work at fixing
	inotify bug.
	* server/gam_connection.c: (gam_connection_close),
	(gam_connection_get_pidname), (gam_connection_set_pid),
	(gam_connection_request), (gam_send_event), (gam_send_ack),
	(gam_connections_debug): Output process name instead of pid on Linux.
	Everyone else still gets pid.
	* server/gam_connection.h:
	* server/gam_poll.c: (gam_poll_emit_event), (poll_file),
	(gam_poll_scan_directory_internal): Move more debug output under
	GAM_VERBOSE_POLL define.

2005-07-21  John McCutchan  <jmc@cvs.gnome.org>

	* server/gam_inotify.c: (gam_inotify_directory_handler_internal): Fix
	locking bug.

2005-07-21  John McCutchan  <jmc@cvs.gnome.org>

	* server/gam_inotify.c: (gam_inotify_read_handler),
	(gam_inotify_rm_watch), (gam_inotify_read_events): New function that
	tries hard to read events from inotify in large chunks. Big
	CPU usage decrease with dd if=/dev/zero of=test!

2005-07-21  John McCutchan  <jmc@cvs.gnome.org>

	* python/tests/basic4.py:
	* python/tests/basic6.py:
	* python/tests/multiple2.py:
	* python/tests/noexists.py:
	* python/tests/nokernel.py:
	* python/tests/readonly.py: Cleanup debug output
	* server/gam_inotify.c: (gam_inotify_directory_handler_internal),
	(gam_inotify_read_handler), (gam_inotify_init),
	(gam_inotify_remove_all_for), (gam_inotify_add_watch),
	(gam_inotify_rm_watch):  More inotify backend cleanups
	* server/local_inotify_syscalls.h: Local header that defines the
	inotify system calls for x86 and x86-64 architectures. Other
	architectures get dummy functions.

Wed Jul 13 18:51:44 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_connection.c: applied patch from Jean-Yves Lefort
	  for compilation on gcc < 3.0

Wed Jul 13 13:15:37 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* configure.in doc/* gamin.spec.in NEWS: preparing release of 
	  version 0.1.2

Tue Jul 12 23:19:38 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_inotify.c server/local_inotify.h: the inotify API
	  changed from file based to syscall, patch from John McCutchan
	* server/gam_node.c: one of the assert from Neal seems to be 
	  crashing gam_server when using the gtk+ file selector, fix
	  from John McCutchan too to avoid the assert() but not the cause

Wed Jun 15 19:04:38 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* python/tests/Makefile.am: add make tests to make check target
	  fixes #307786 Neal H. Walfield

Wed Jun 15 14:40:56 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_poll.c: another cleanup of poll only support from 
	  Neal H. Walfield which should not affect the dnotify back-end,
	  should fix #307745

Wed Jun 15 13:01:11 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* libgamin/gam_api.c server/gam_channel.c: reverted patch from
	  #306706 as this broke authentication and debugging.
	* server/gam_server.c: removed warnings.

Tue Jun 14 14:30:54 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_connection.c: another cleanup patch from Neal H. Walfield

Mon Jun 13 18:35:29 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_hurd_mach_notify.c server/gam_kqueue.c
	  server/gam_listener.c server/gam_listener.h server/gam_poll.c: 
	  another cleanup patch from Neal H. Walfield

Mon Jun 13 16:57:35 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_node.c server/gam_poll.c: applied 2 cleanup patches
	  from Neal H. Walfield

Mon Jun 13 11:11:43 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_dnotify.c server/gam_dnotify.h server/gam_inotify.c
	  server/gam_inotify.h server/gam_poll.c server/gam_server.c: applied
	  patch from  John McCutchan for the inotify back-end #171201 and more
	  debugging informations. Had to fix gam_poll_init_full() too.

Mon Jun 13 10:40:13 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* gamin.spec.in: updated the Changelog

Fri Jun 10 17:15:38 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* NEWS configure.in doc/gamin.html doc/news.html: prepared release
	  0.1.1

Fri Jun 10 16:30:04 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_excludes.c: removed an extra variable
	* server/gam_poll.c: fixed problem raised by dnotify4.py, watching
	  a directory and getting a file should send back Deleted.

Fri Jun 10 11:44:27 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_excludes.c: allowed ~ at the beginning of a path to
	  indicate the user home directory

Thu Jun  9 00:01:26 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* server/gam_hurd_mach_notify.c: fixed an open() turned in concat()
	  due to privoxy filtering closes #306915.
	* server/gam_server.c: applied cleanup from Neal H. Walfield removing
	  duplicate code #306913
	* server/gam_hurd_mach_notify.c: bugfix for the Hurd backend from
	  Neal H. Walfield #306916

Wed Jun  8 23:45:28 CEST 2005 Daniel Veillard <veillard@redhat.com>

	* libgamin/gam_api.c server/gam_channel.c: patch from
	  Neal H. Walfield support for OSes that do not support LOCAL_CRED
	  closes bug #306706
	* server/Makefile.am: tidying
	* libgamin/gam_api.c: fixed a missing const #306909 (Neal H. Walfield)
