[packages/GConf2] add patch for ded45b98eb8efb1443b303b8acd8cf10d96a326f

glen glen at pld-linux.org
Mon Mar 25 21:50:49 CET 2013


commit 1df4cdc1d9ae10256c0591aba7932a2bde60bfd5
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Mon Mar 25 22:50:15 2013 +0200

    add patch for ded45b98eb8efb1443b303b8acd8cf10d96a326f

 workaround-crash.patch | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)
---
diff --git a/workaround-crash.patch b/workaround-crash.patch
new file mode 100644
index 0000000..c511892
--- /dev/null
+++ b/workaround-crash.patch
@@ -0,0 +1,98 @@
+http://bugzilla.redhat.com/858348
+http://bugzilla.redhat.com/755992
+
+diff -up GConf-3.2.5/gconf/gconfd.c.workaround-crash GConf-3.2.5/gconf/gconfd.c
+--- GConf-3.2.5/gconf/gconfd.c.workaround-crash	2012-03-07 13:08:55.000000000 -0500
++++ GConf-3.2.5/gconf/gconfd.c	2012-09-24 10:04:22.604652720 -0400
+@@ -1053,63 +1053,6 @@ static GSList* main_loops = NULL;
+ static guint timeout_id = 0;
+ static gboolean need_log_cleanup = FALSE;
+ 
+-static gboolean
+-periodic_cleanup_timeout(gpointer data)
+-{  
+-  if (need_db_reload)
+-    {
+-      gconf_log (GCL_INFO, _("SIGHUP received, reloading all databases"));
+-
+-      need_db_reload = FALSE;
+-#ifdef HAVE_CORBA
+-      logfile_save ();
+-      shutdown_databases ();
+-      init_databases ();
+-      gconf_server_load_sources ();
+-      logfile_read ();
+-#endif
+-#ifdef HAVE_DBUS
+-      reload_databases ();
+-#endif
+-    }
+-  
+-  gconf_log (GCL_DEBUG, "Performing periodic cleanup, expiring cache cruft");
+-  
+-#ifdef HAVE_CORBA
+-  drop_old_clients ();
+-#endif
+-  drop_old_databases ();
+-
+-#ifdef HAVE_DBUS
+-  if (no_databases_in_use () && gconfd_dbus_client_count () == 0)
+-#else
+-  if (no_databases_in_use () && client_count () == 0)
+-#endif
+-    {
+-      gconf_log (GCL_INFO, _("GConf server is not in use, shutting down."));
+-      gconfd_main_quit ();
+-      return FALSE;
+-    }
+-  
+-  /* expire old locale cache entries */
+-  gconfd_locale_cache_expire ();
+-
+-#ifdef HAVE_CORBA
+-  if (!need_log_cleanup)
+-    {
+-      gconf_log (GCL_DEBUG, "No log file saving needed in periodic cleanup handler");
+-      return TRUE;
+-    }
+-  
+-  /* Compress the running state file */
+-  logfile_save ();
+-#endif
+-
+-  need_log_cleanup = FALSE;
+-  
+-  return TRUE;
+-}
+-
+ void
+ gconfd_need_log_cleanup (void)
+ {
+@@ -1123,26 +1066,14 @@ gconf_main(void)
+ 
+   loop = g_main_loop_new (NULL, TRUE);
+ 
+-  if (main_loops == NULL)
+-    {
+-      gulong timeout_len = 60*0.5; /* 60 s/min * .5 min */
+-      
+-      g_assert(timeout_id == 0);
+-      timeout_id = g_timeout_add_seconds (timeout_len,
+-                                          periodic_cleanup_timeout,
+-                                          NULL);
+-
+-    }
+-  
+   main_loops = g_slist_prepend(main_loops, loop);
+ 
+   g_main_loop_run (loop);
+ 
+   main_loops = g_slist_remove(main_loops, loop);
+ 
+-  if (main_loops == NULL)
++  if (main_loops == NULL && timeout_id != 0)
+     {
+-      g_assert(timeout_id != 0);
+       g_source_remove(timeout_id);
+       timeout_id = 0;
+     }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/GConf2.git/commitdiff/1df4cdc1d9ae10256c0591aba7932a2bde60bfd5



More information about the pld-cvs-commit mailing list