commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] Debian GNU Hurd packaging branch, master, updated. upstream/201103


From: Samuel Thibault
Subject: [SCM] Debian GNU Hurd packaging branch, master, updated. upstream/20110303-446-g4bf5b69
Date: Mon, 07 Mar 2011 00:08:50 +0000

The following commit has been merged in the master branch:
commit 4bf5b690c1cf9f43597c8d9c87c792f17b4709c4
Author: Samuel Thibault <address@hidden>
Date:   Mon Mar 7 01:08:18 2011 +0100

    Fix a known synchronization deadlock
    
      * debian/patches/libpager_deadlock.patch: Add patch to fix a known
        synchronization deadlock.

diff --git a/debian/changelog b/debian/changelog
index d545bb5..9cf1dbe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,6 +17,8 @@ hurd (20110303-1) UNRELEASED; urgency=low
     correct response.
   * debian/patches/auth-intr-cure.patch: Add patch to mitigate
     reauthentication issue triggered by sudo.
+  * debian/patches/libpager_deadlock.patch: Add patch to fix a known
+    synchronization deadlock.
 
   [ Justus Winter ]
   * debian/hurd.{postinst,postrm}: Add/remove loginpr shell and login user with
diff --git a/debian/patches/libpager_deadlock.patch 
b/debian/patches/libpager_deadlock.patch
new file mode 100644
index 0000000..ea2d908
--- /dev/null
+++ b/debian/patches/libpager_deadlock.patch
@@ -0,0 +1,20 @@
+See http://lists.gnu.org/archive/html/bug-hurd/2010-03/msg00127.html
+for the story. This should be completely safe, but Sergio believes
+memory_object_lock_request shouldn't actually block.
+
+diff --git a/libpager/lock-object.c b/libpager/lock-object.c
+index d108666..d8d4a1b 100644
+--- a/libpager/lock-object.c
++++ b/libpager/lock-object.c
+@@ -65,9 +65,11 @@ _pager_lock_object (struct pager *p,
+       }
+     }
+ 
++  mutex_unlock (&p->interlock);
+   memory_object_lock_request (p->memobjcntl, offset, size, should_return,
+                             should_flush, lock_value, 
+                             sync ? p->port.port_right : MACH_PORT_NULL);
++  mutex_lock (&p->interlock);
+   
+   if (sync)
+     {
diff --git a/debian/patches/series b/debian/patches/series
index dffa9a2..5bfb36e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -29,3 +29,4 @@ libpthread_sigmask.patch
 disable-proc_getnports.patch
 ext2fs_nowait.patch
 auth-intr-cure.patch
+libpager_deadlock.patch

-- 
Debian GNU Hurd packaging



reply via email to

[Prev in Thread] Current Thread [Next in Thread]