[GConf2/f17] More crasher workarounds

Ray Strode rstrode at fedoraproject.org
Mon Sep 24 14:05:44 UTC 2012


commit 700cc30238c5be4bd9bf5c886b89da0ae76c5d00
Author: Ray Strode <rstrode at redhat.com>
Date:   Mon Sep 24 10:05:09 2012 -0400

    More crasher workarounds
    
    Resolves: #858348

 GConf2.spec            |    6 +++++-
 workaround-crash.patch |   33 ++++++++++++++-------------------
 2 files changed, 19 insertions(+), 20 deletions(-)
---
diff --git a/GConf2.spec b/GConf2.spec
index 508a7c0..1f44b22 100644
--- a/GConf2.spec
+++ b/GConf2.spec
@@ -6,7 +6,7 @@
 Summary: A process-transparent configuration system
 Name: GConf2
 Version: 3.2.5
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: LGPLv2+
 Group: System Environment/Base
 #VCS: git:git://git.gnome.org/gconf
@@ -161,6 +161,10 @@ fi
 %doc %{_mandir}/man1/gsettings-schema-convert.1*
 
 %changelog
+* Mon Sep 24 2012 Ray Strode <rstrode at redhat.com> 3.2.5-3
+- More crasher workarounds
+  Resolves: #858348
+
 * Thu Sep 13 2012 Ray Strode <rstrode at redhat.com> 3.2.5-2
 - Work around crasher bug
   Resolves: #755992
diff --git a/workaround-crash.patch b/workaround-crash.patch
index 2d1c6ba..f57f2fc 100644
--- a/workaround-crash.patch
+++ b/workaround-crash.patch
@@ -1,18 +1,6 @@
-From d9e9fe3d550693c530658583b73212ce94bf3f21 Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode at redhat.com>
-Date: Thu, 13 Sep 2012 18:18:48 -0400
-Subject: [PATCH] daemon: don't exit on timeout
-
-The client library isn't robust enough to handle the daemon going away,
-so don't make it go away automatically.
----
- gconf/gconfd.c | 68 ----------------------------------------------------------
- 1 file changed, 68 deletions(-)
-
-diff --git a/gconf/gconfd.c b/gconf/gconfd.c
-index d42ce1e..557e906 100644
---- a/gconf/gconfd.c
-+++ b/gconf/gconfd.c
+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;
@@ -77,7 +65,7 @@ index d42ce1e..557e906 100644
  void
  gconfd_need_log_cleanup (void)
  {
-@@ -1123,17 +1066,6 @@ gconf_main(void)
+@@ -1123,26 +1066,14 @@ gconf_main(void)
  
    loop = g_main_loop_new (NULL, TRUE);
  
@@ -95,6 +83,13 @@ index d42ce1e..557e906 100644
    main_loops = g_slist_prepend(main_loops, loop);
  
    g_main_loop_run (loop);
--- 
-1.7.12
-
+ 
+   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;
+     }


More information about the scm-commits mailing list