[packages/glib2] - updated to 2.36.2 - removed obsolete bug-698081 patch

qboosh qboosh at pld-linux.org
Tue May 14 16:18:37 CEST 2013


commit c514dc9d84201b69ee0ef68a5e385f75238bbc8f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue May 14 16:18:40 2013 +0200

    - updated to 2.36.2
    - removed obsolete bug-698081 patch

 bug-698081.patch | 134 -------------------------------------------------------
 glib2.spec       |   8 ++--
 2 files changed, 3 insertions(+), 139 deletions(-)
---
diff --git a/glib2.spec b/glib2.spec
index a285c30..e2f4c00 100644
--- a/glib2.spec
+++ b/glib2.spec
@@ -18,15 +18,14 @@ Summary(pt_BR.UTF-8):	Conjunto de funções gráficas utilitárias
 Summary(tr.UTF-8):	Yararlı ufak yordamlar kitaplığı
 Summary(zh_CN.UTF-8):	实用工具函数库
 Name:		glib2
-Version:	2.36.1
-Release:	3
+Version:	2.36.2
+Release:	1
 Epoch:		1
 License:	LGPL v2+
 Group:		Libraries
 Source0:	http://ftp.gnome.org/pub/GNOME/sources/glib/2.36/glib-%{version}.tar.xz
-# Source0-md5:	a3bbee44a13facb5a3cab18be5ece14c
+# Source0-md5:	d791774ac49eaf8ba59792427bb74af7
 Patch0:		%{name}-makefile.patch
-Patch1:		bug-698081.patch
 URL:		http://www.gtk.org/
 BuildRequires:	autoconf >= 2.62
 BuildRequires:	automake >= 1:1.11
@@ -209,7 +208,6 @@ Bashowe uzupełnianie nazw dla narzędzi gio: gdbus i gsettings.
 %prep
 %setup -q -n glib-%{version}
 %patch0 -p1
-%patch1 -p1
 
 %if %{without apidocs}
 %{__sed} -e '/SUBDIRS/s/docs//' -i Makefile.am
diff --git a/bug-698081.patch b/bug-698081.patch
deleted file mode 100644
index 31b2fe4..0000000
--- a/bug-698081.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From eb860fd898a6a2bd86c11d245294cd0e8cd4304b Mon Sep 17 00:00:00 2001
-From: Ryan Lortie <desrt at desrt.ca>
-Date: Tue, 23 Apr 2013 17:26:48 +0000
-Subject: Partially revert "Merge waitpid() from g_spawn_sync into gmain()"
-
-This partially reverts commit ce0022933c255313e010b27f977f4ae02aad1e7e.
-
-It used to be safe to use g_spawn_sync() from processes that had their
-own SIGCHLD handler because it simply called wait().  When it was
-changed to depend on the GLib child watching infrastructure this meant
-that GLib had to own the SIGCHLD handler.
-
-This caused hangs in at least Pidgin.
-
-The patch contained two other improvements to the child watch code which
-we want to keep, so only revert the changes to gspawn itself.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=698081
----
-(limited to 'glib/gspawn.c')
-
-diff --git a/glib/gspawn.c b/glib/gspawn.c
-index 381ed5c..01cedf6 100644
---- a/glib/gspawn.c
-+++ b/glib/gspawn.c
-@@ -47,7 +47,6 @@
- 
- #include "genviron.h"
- #include "gmem.h"
--#include "gmain.h"
- #include "gshell.h"
- #include "gstring.h"
- #include "gstrfuncs.h"
-@@ -207,21 +206,6 @@ read_data (GString *str,
-     }
- }
- 
--typedef struct {
--  GMainLoop *loop;
--  gint *status_p;
--} SyncWaitpidData;
--
--static void
--on_sync_waitpid (GPid     pid,
--                 gint     status,
--                 gpointer user_data)
--{
--  SyncWaitpidData *data = user_data;
--  *(data->status_p) = status;
--  g_main_loop_quit (data->loop);
--}
--
- /**
-  * g_spawn_sync:
-  * @working_directory: (allow-none): child's current working directory, or %NULL to inherit parent's
-@@ -277,7 +261,6 @@ g_spawn_sync (const gchar          *working_directory,
-   GString *errstr = NULL;
-   gboolean failed;
-   gint status;
--  SyncWaitpidData waitpid_data;
-   
-   g_return_val_if_fail (argv != NULL, FALSE);
-   g_return_val_if_fail (!(flags & G_SPAWN_DO_NOT_REAP_CHILD), FALSE);
-@@ -410,32 +393,45 @@ g_spawn_sync (const gchar          *working_directory,
-     close_and_invalidate (&outpipe);
-   if (errpipe >= 0)
-     close_and_invalidate (&errpipe);
--
--  /* Now create a temporary main context and loop, with just one
--   * waitpid source.  We used to invoke waitpid() directly here, but
--   * this way we unify with the worker thread in gmain.c.
-+  
-+  /* Wait for child to exit, even if we have
-+   * an error pending.
-    */
--  {
--    GMainContext *context;
--    GMainLoop *loop;
--    GSource *source;
--
--    context = g_main_context_new ();
--    loop = g_main_loop_new (context, TRUE);
-+ again:
-+      
-+  ret = waitpid (pid, &status, 0);
- 
--    waitpid_data.loop = loop;
--    waitpid_data.status_p = &status;
--    
--    source = g_child_watch_source_new (pid);
--    g_source_set_callback (source, (GSourceFunc)on_sync_waitpid, &waitpid_data, NULL);
--    g_source_attach (source, context);
--    g_source_unref (source);
--    
--    g_main_loop_run (loop);
-+  if (ret < 0)
-+    {
-+      if (errno == EINTR)
-+        goto again;
-+      else if (errno == ECHILD)
-+        {
-+          if (exit_status)
-+            {
-+              g_warning ("In call to g_spawn_sync(), exit status of a child process was requested but ECHILD was received by waitpid(). Most likely the process is ignoring SIGCHLD, or some other thread is invoking waitpid() with a nonpositive first argument; either behavior can break applications that use g_spawn_sync either directly or indirectly.");
-+            }
-+          else
-+            {
-+              /* We don't need the exit status. */
-+            }
-+        }
-+      else
-+        {
-+          if (!failed) /* avoid error pileups */
-+            {
-+              int errsv = errno;
- 
--    g_main_context_unref (context);
--    g_main_loop_unref (loop);
--  }
-+              failed = TRUE;
-+                  
-+              g_set_error (error,
-+                           G_SPAWN_ERROR,
-+                           G_SPAWN_ERROR_READ,
-+                           _("Unexpected error in waitpid() (%s)"),
-+                           g_strerror (errsv));
-+            }
-+        }
-+    }
-   
-   if (failed)
-     {
---
-cgit v0.9.1
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/glib2.git/commitdiff/c514dc9d84201b69ee0ef68a5e385f75238bbc8f



More information about the pld-cvs-commit mailing list