]> git.pld-linux.org Git - packages/amanda.git/blobdiff - amanda-glib2.24.patch
- reorgnize glib_init to be compatible with glib-2.24+
[packages/amanda.git] / amanda-glib2.24.patch
diff --git a/amanda-glib2.24.patch b/amanda-glib2.24.patch
new file mode 100644 (file)
index 0000000..a0456ff
--- /dev/null
@@ -0,0 +1,54 @@
+--- amanda/trunk/common-src/glib-util.c        2009/10/16 22:06:51     2182
++++ amanda/trunk/common-src/glib-util.c        2010/05/03 21:42:31     2982
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2007,2008,2009 Zmanda, Inc.  All Rights Reserved.
++ * Copyright (c) 2007, 2008, 2009, 2010 Zmanda, Inc.  All Rights Reserved.
+  *
+  * This program is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU General Public License version 2 as published
+@@ -38,26 +38,15 @@
+     if (did_glib_init) return;
+     did_glib_init = TRUE;
+-    /* Initialize glib's type system */
+-    g_type_init();
+-
+     /* set up libcurl (this must happen before threading 
+      * is initialized) */
+ #ifdef HAVE_LIBCURL
+ # ifdef G_THREADS_ENABLED
+-    g_assert(!g_thread_supported());
++    g_assert(!g_thread_supported()); /* assert threads aren't initialized yet */
+ # endif
+     g_assert(curl_global_init(CURL_GLOBAL_ALL) == 0);
+ #endif
+-    /* And set up glib's threads */
+-#if defined(G_THREADS_ENABLED) && !defined(G_THREADS_IMPL_NONE)
+-    if (g_thread_supported()) {
+-        return;
+-    }
+-    g_thread_init(NULL);
+-#endif
+-
+     /* do a version check */
+ #if GLIB_CHECK_VERSION(2,6,0)
+     {
+@@ -71,6 +60,16 @@
+       }
+     }
+ #endif
++
++    /* Initialize glib's type system.  On glib >= 2.24, this will initialize
++     * threads, so it must be done after curl is initialized. */
++    g_type_init();
++
++    /* And set up glib's threads */
++#if defined(G_THREADS_ENABLED) && !defined(G_THREADS_IMPL_NONE)
++    if (!g_thread_supported())
++      g_thread_init(NULL);
++#endif
+ }
+ typedef enum {
This page took 0.059861 seconds and 4 git commands to generate.