]> git.pld-linux.org Git - packages/glib2.git/commitdiff
- updated to 2.36.2 auto/th/glib2-2.36.2-1
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 14 May 2013 14:18:40 +0000 (16:18 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 14 May 2013 14:18:40 +0000 (16:18 +0200)
- removed obsolete bug-698081 patch

bug-698081.patch [deleted file]
glib2.spec

diff --git a/bug-698081.patch b/bug-698081.patch
deleted file mode 100644 (file)
index 31b2fe4..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-From eb860fd898a6a2bd86c11d245294cd0e8cd4304b Mon Sep 17 00:00:00 2001
-From: Ryan Lortie <desrt@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
index a285c30f0ffd59a0c4efe0399311c8b4bfdd3e07..e2f4c00699ae57fb75d9c2c5161d328e20f8b505 100644 (file)
@@ -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
This page took 0.070979 seconds and 4 git commands to generate.