commit-hurd
[Top][All Lists]
Advanced

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

[gnumach] 01/01: Fix crash when delivering the interrupt makes the threa


From: Samuel Thibault
Subject: [gnumach] 01/01: Fix crash when delivering the interrupt makes the thread sleep.
Date: Tue, 12 Apr 2016 20:43:05 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch master
in repository gnumach.

commit a4862030469e8ca8d13bdd8da1f0e76ab156ba35
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 12 22:42:43 2016 +0200

    Fix crash when delivering the interrupt makes the thread sleep.
    
    It is fine to do another check loop when running the interrupt handlers 
anyway.
---
 debian/changelog            | 3 +++
 debian/patches/70_dde.patch | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index c9edea5..c032ecf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,9 @@ gnumach (2:1.6+git20160311-2) UNRELEASED; urgency=medium
 
   * control.in: Really bump dpkg-dev and debhelper versions.
   * patches/20_FP_NO.patch: Avoid defining FP_NO.
+  * patches/70_dde.patch: Fix crash when delivering the interrupt makes the
+    thread sleep. It is fine to do another check loop when running the
+    interrupt handlers anyway.
 
  -- Samuel Thibault <address@hidden>  Fri, 11 Mar 2016 23:21:56 +0000
 
diff --git a/debian/patches/70_dde.patch b/debian/patches/70_dde.patch
index 0e70729..c0b1a32 100644
--- a/debian/patches/70_dde.patch
+++ b/debian/patches/70_dde.patch
@@ -153,7 +153,7 @@ Index: gnumach/device/intr.c
 ===================================================================
 --- /dev/null
 +++ gnumach/device/intr.c
-@@ -0,0 +1,198 @@
+@@ -0,0 +1,200 @@
 +#include <device/intr.h>
 +#include <device/ds_routines.h>
 +#include <kern/queue.h>
@@ -276,12 +276,14 @@ Index: gnumach/device/intr.c
 +             * we should remove it. */
 +            if (e->dest == NULL)
 +              {
++                clear_wait (current_thread (), 0, 0);
 +                del = 1;
 +                break;
 +              }
 +
 +            if (e->interrupts)
 +              {
++                clear_wait (current_thread (), 0, 0);
 +                line = e->line;
 +                dest = e->dest;
 +                e->interrupts--;

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/gnumach.git



reply via email to

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