rpms/gamin/devel gamin-conditional-poll.patch, NONE, 1.1 gamin.spec, 1.56, 1.57

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Mar 7 11:11:49 UTC 2007


Author: alexl

Update of /cvs/dist/rpms/gamin/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv11881

Modified Files:
	gamin.spec 
Added Files:
	gamin-conditional-poll.patch 
Log Message:
* Wed Mar  7 2007 Alexander Larsson <alexl at redhat.com> - 0.1.8-4
- Add patch to fix #204906



gamin-conditional-poll.patch:
 gam_poll_basic.c |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletion(-)

--- NEW FILE gamin-conditional-poll.patch ---
Index: server/gam_poll_basic.c
===================================================================
--- server/gam_poll_basic.c	(revision 320)
+++ server/gam_poll_basic.c	(working copy)
@@ -46,6 +46,8 @@ static gboolean gam_poll_basic_remove_al
 static GaminEventType gam_poll_basic_poll_file(GamNode * node);
 static gboolean gam_poll_basic_scan_callback(gpointer data);
 
+static gboolean scan_callback_running = FALSE;
+
 gboolean
 gam_poll_basic_init ()
 {
@@ -56,7 +58,6 @@ gam_poll_basic_init ()
 				       gam_poll_basic_remove_all_for,
 				       gam_poll_basic_poll_file);
 
-	g_timeout_add(1000, gam_poll_basic_scan_callback, NULL);
 	GAM_DEBUG(DEBUG_INFO, "basic poll backend initialized\n");
 	return TRUE;
 }
@@ -116,6 +117,12 @@ gam_poll_basic_add_subscription(GamSubsc
 
 	gam_poll_generic_add (node);
 
+	if (!scan_callback_running)
+	{
+	  scan_callback_running = TRUE;
+	  g_timeout_add (1000, gam_poll_basic_scan_callback, NULL);
+	}
+	
 	GAM_DEBUG(DEBUG_INFO, "Poll: added subscription for %s\n", path);
 	return TRUE;
 }
@@ -356,6 +363,7 @@ static gboolean
 gam_poll_basic_scan_callback(gpointer data)
 {
 	int idx;
+	gboolean did_something = FALSE;
 
 	gam_poll_generic_update_time ();
 
@@ -371,6 +379,8 @@ gam_poll_basic_scan_callback(gpointer da
 
 		g_assert (node);
 
+		did_something = TRUE;
+		
 		if (node->is_dir) {
 			gam_poll_generic_scan_directory_internal(node);
 		} else {
@@ -391,6 +401,8 @@ gam_poll_basic_scan_callback(gpointer da
 
 		g_assert (node);
 
+		did_something = TRUE;
+		
 #ifdef VERBOSE_POLL
 		GAM_DEBUG(DEBUG_INFO, "Checking missing file %s\n", node->path);
 #endif
@@ -412,5 +424,10 @@ gam_poll_basic_scan_callback(gpointer da
 		}
 	}
 
+	if (!did_something) {
+	  scan_callback_running = FALSE;
+	  return FALSE;
+	}
+	
 	return TRUE;
 }


Index: gamin.spec
===================================================================
RCS file: /cvs/dist/rpms/gamin/devel/gamin.spec,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- gamin.spec	7 Dec 2006 18:18:00 -0000	1.56
+++ gamin.spec	7 Mar 2007 11:11:47 -0000	1.57
@@ -1,7 +1,7 @@
 Summary: Library providing the FAM File Alteration Monitor API
 Name: gamin
 Version: 0.1.8
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: LGPL
 Group: Development/Libraries
 Source: gamin-%{version}.tar.gz
@@ -25,6 +25,7 @@
 Provides: fam-devel
 
 Patch1:         gamin-0.1.7-fix-polling.patch
+Patch2:         gamin-conditional-poll.patch
 
 %description devel
 This C library provides an API and ABI compatible file alteration
@@ -45,6 +46,7 @@
 %setup -q
 
 %patch1 -p1 -b .fix-polling
+%patch2 -p0 -b .conditional-poll
 
 %build
 autoreconf --force --install
@@ -93,6 +95,9 @@
 %doc doc/python.html
 
 %changelog
+* Wed Mar  7 2007 Alexander Larsson <alexl at redhat.com> - 0.1.8-4
+- Add patch to fix #204906
+
 * Thu Dec  7 2006 Jeremy Katz <katzj at redhat.com> - 0.1.8-3
 - rebuild for python 2.5
 




More information about the fedora-cvs-commits mailing list