[Pkg-mono-svn-commits] rev 2544 - in gtk-sharp2/trunk/debian: .
patches
Sebastian Dröge
slomo-guest at costa.debian.org
Tue May 9 17:51:52 UTC 2006
Author: slomo-guest
Date: 2006-05-09 17:51:51 +0000 (Tue, 09 May 2006)
New Revision: 2544
Added:
gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch
Modified:
gtk-sharp2/trunk/debian/changelog
gtk-sharp2/trunk/debian/control
gtk-sharp2/trunk/debian/patches/00list
Log:
* added a important bugfix
* bumped standards version to 3.7.2
Modified: gtk-sharp2/trunk/debian/changelog
===================================================================
--- gtk-sharp2/trunk/debian/changelog 2006-05-09 17:47:26 UTC (rev 2543)
+++ gtk-sharp2/trunk/debian/changelog 2006-05-09 17:51:51 UTC (rev 2544)
@@ -6,6 +6,7 @@
+ Added libmono-cairo1.0-cil to build-deps.
* Sebastian 'slomo' Dröge
+ Add myself to Uploaders
+ + Update Standards-Version to 3.7.2
+ debian/patches/03_gnomevfs-mimetype-pinvokes.dpatch: (SVN rev 58615)
- Fix the GnomeVFS MimeType P/Invokes to conform to the
const/non-const conventions as specified in the gnomevfs headers.
@@ -17,6 +18,10 @@
- Fix signature of Gdk.Drawable.DrawPoints(). The old version was
completely wrong and would segfault everything using it.
http://bugzilla.ximian.com/show_bug.cgi?id=77942
+ + debian/patches/06_value-array-smp-free.dpatch:
+ - Don't immediately free ValueArrays; queue them up to be freed in the
+ main thread by using a Timeout. This fixes SMP deadlocks when the
+ GValues contained therein aren't threadsafe (like GDK resources).
-- Debian Mono Group <pkg-mono-group at lists.alioth.debian.org> Fri, 14 Apr 2006 12:48:02 +0200
Modified: gtk-sharp2/trunk/debian/control
===================================================================
--- gtk-sharp2/trunk/debian/control 2006-05-09 17:47:26 UTC (rev 2543)
+++ gtk-sharp2/trunk/debian/control 2006-05-09 17:51:51 UTC (rev 2544)
@@ -4,7 +4,7 @@
Maintainer: Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>
Uploaders: Dave Beckett <dajobe at debian.org>, Mirco Bauer <meebey at meebey.net>, Sebastian Dröge <slomo at ubuntu.com>
Build-Depends: debhelper (>= 4.1.87), cli-common-dev (>= 0.4.0), dpatch, mono-mcs (>= 1.0) | c-sharp-compiler, mono-gac (>= 1.0), monodoc-base (>= 1.0), libmono-dev, libtool, libglib2.0-dev (>= 2.8.0), libgtk2.0-dev (>= 2.8.0), libpango1.0-dev, libatk1.0-dev, libfreetype6-dev, libxml2-dev, libglade2-dev (>= 2.3.6), librsvg2-dev (>= 2.0.1), libgail-dev, libgtkhtml3.8-dev (>= 3.8.0), libgnomeui-dev (>= 2.10.0), libgnomecanvas2-dev (>= 2.10.0), libgnomeprint2.2-dev (>= 2.10.0) , libgnomeprintui2.2-dev (>= 2.10.0), libart-2.0-dev (>= 2.3.16), libvte-dev (>= 0.11.10), libpanel-applet2-dev (>= 2.10.0), libmono0 (>= 1.0), mono-utils (>= 1.0-2), libmono-cairo1.0-cil
-Standards-Version: 3.6.2.1
+Standards-Version: 3.7.2
Package: gtk-sharp2
Architecture: all
Modified: gtk-sharp2/trunk/debian/patches/00list
===================================================================
--- gtk-sharp2/trunk/debian/patches/00list 2006-05-09 17:47:26 UTC (rev 2543)
+++ gtk-sharp2/trunk/debian/patches/00list 2006-05-09 17:51:51 UTC (rev 2544)
@@ -3,3 +3,4 @@
03_gnomevfs-mimetype-pinvokes.dpatch
04_list-to-array-marshalling.dpatch
05_gdk-drawable.dpatch
+06_value-array-smp-free.dpatch
Added: gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch
===================================================================
--- gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch 2006-05-09 17:47:26 UTC (rev 2543)
+++ gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch 2006-05-09 17:51:51 UTC (rev 2544)
@@ -0,0 +1,53 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+
+ at DPATCH@
+
+--- gtk-sharp/glib/ValueArray.cs 2004/12/07 19:03:55 37324
++++ gtk-sharp/glib/ValueArray.cs 2006/05/08 20:45:48 60424
+@@ -29,6 +29,9 @@
+
+ private IntPtr handle = IntPtr.Zero;
+
++ static private ArrayList PendingFrees = new ArrayList ();
++ static private bool idle_queued = false;
++
+ [DllImport("libgobject-2.0-0.dll")]
+ static extern IntPtr g_value_array_new (uint n_preallocs);
+
+@@ -62,9 +65,35 @@
+ if (Handle == IntPtr.Zero)
+ return;
+
+- g_value_array_free (Handle);
++ lock (PendingFrees) {
++ PendingFrees.Add (handle);
++
++ if (! idle_queued) {
++ Timeout.Add (50, new TimeoutHandler (PerformFrees));
++ idle_queued = true;
++ }
++ }
++
+ handle = IntPtr.Zero;
+ }
++
++ static bool PerformFrees ()
++ {
++ IntPtr[] handles;
++
++ lock (PendingFrees) {
++ idle_queued = false;
++
++ handles = new IntPtr [PendingFrees.Count];
++ PendingFrees.CopyTo (handles, 0);
++ PendingFrees.Clear ();
++ }
++
++ foreach (IntPtr h in handles)
++ g_value_array_free (h);
++
++ return false;
++ }
+
+ public IntPtr Handle {
+ get {
More information about the Pkg-mono-svn-commits
mailing list