Author: baggins                      Date: Sat Nov  7 23:12:55 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 2
- fix https://bugzilla.gnome.org/show_bug.cgi?id=595698
  gnome-keyring-daemon doesn't exit properly when the session ends

---- Files affected:
packages/gnome-keyring:
   gnome-keyring.spec (1.66 -> 1.67) , gnome-keyring-bug-595698.patch (NONE -> 
1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/gnome-keyring/gnome-keyring.spec
diff -u packages/gnome-keyring/gnome-keyring.spec:1.66 
packages/gnome-keyring/gnome-keyring.spec:1.67
--- packages/gnome-keyring/gnome-keyring.spec:1.66      Fri Sep 25 22:40:02 2009
+++ packages/gnome-keyring/gnome-keyring.spec   Sun Nov  8 00:12:49 2009
@@ -3,11 +3,12 @@
 Summary(pl.UTF-8):     Przechowywanie haseł i innych tajnych danych 
użytkowników
 Name:          gnome-keyring
 Version:       2.28.0
-Release:       1
+Release:       2
 License:       LGPL v2+ (library), GPL v2+ (programs)
 Group:         X11/Applications
 Source0:       
http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/2.28/%{name}-%{version}.tar.bz2
 # Source0-md5: 07fa253d8506c22640d74eb4fc90a092
+Patch0:                %{name}-bug-595698.patch
 URL:           http://live.gnome.org/GnomeKeyring
 BuildRequires: GConf2-devel >= 2.24.0
 BuildRequires: autoconf
@@ -121,6 +122,7 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 rm -f po/[email protected]
 sed -i -e 's/c...@valencia//' po/LINGUAS
@@ -228,6 +230,11 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.67  2009/11/07 23:12:49  baggins
+- rel 2
+- fix https://bugzilla.gnome.org/show_bug.cgi?id=595698
+  gnome-keyring-daemon doesn't exit properly when the session ends
+
 Revision 1.66  2009/09/25 20:40:02  megabajt
 - updated to 2.28.0
 

================================================================
Index: packages/gnome-keyring/gnome-keyring-bug-595698.patch
diff -u /dev/null packages/gnome-keyring/gnome-keyring-bug-595698.patch:1.1
--- /dev/null   Sun Nov  8 00:12:55 2009
+++ packages/gnome-keyring/gnome-keyring-bug-595698.patch       Sun Nov  8 
00:12:49 2009
@@ -0,0 +1,59 @@
+diff --git a/daemon/gkr-daemon.c b/daemon/gkr-daemon.c
+index c63081e..ea85edf 100644
+--- a/daemon/gkr-daemon.c
++++ b/daemon/gkr-daemon.c
+@@ -43,6 +43,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#include <pthread.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -90,6 +91,8 @@ static gboolean run_for_start = FALSE;
+ static gchar* run_components = NULL;
+ static gchar* login_password = NULL;
+ static gboolean initialization_completed = FALSE;
++static gboolean sig_thread_valid = FALSE;
++static pthread_t sig_thread;
+ 
+ static GOptionEntry option_entries[] = {
+       { "foreground", 'f', 0, G_OPTION_ARG_NONE, &run_foreground, 
+@@ -370,7 +373,7 @@ signal_thread (gpointer user_data)
+ static void
+ setup_signal_handling (GMainLoop *loop)
+ {
+-      GError *error = NULL;
++      int res;
+ 
+       /*
+        * Block these signals for this thread, and any threads
+@@ -387,11 +390,12 @@ setup_signal_handling (GMainLoop *loop)
+       sigaddset (&signal_set, SIGTERM);
+       pthread_sigmask (SIG_BLOCK, &signal_set, NULL);
+ 
+-      g_thread_create (signal_thread, loop, FALSE, &error);
+-      if (error != NULL) {
++      res = pthread_create (&sig_thread, NULL, signal_thread, loop);
++      if (res == 0) {
++              sig_thread_valid = TRUE;
++      } else {
+               g_warning ("couldn't startup thread for signal handling: %s",
+-                         error && error->message ? error->message : "");
+-              g_clear_error (&error);
++                         g_strerror (res));
+       }
+ }
+ 
+@@ -404,7 +408,10 @@ gkr_daemon_quit (void)
+        * starts the shutdown process.
+        */
+ 
+-      raise (SIGTERM);
++      if (sig_thread_valid)
++              pthread_kill (sig_thread, SIGTERM);
++      else
++              raise (SIGTERM);
+ }
+ 
+ static void
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gnome-keyring/gnome-keyring.spec?r1=1.66&r2=1.67&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to