# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1284535364 -3600
# Node ID 081ba5a13718f12f0d306d8f094c1b73a7f7d173
# Parent  84510e00ebd1e3bc0a5d7b2f0d996d41e49e17ff
notify_via_xen_event_channel() should check for dying domain.

Else we can fail on either ASSERTion in that function.

From: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen-unstable changeset:   22159:62edd2611cbb
xen-unstable date:        Wed Sep 15 08:18:53 2010 +0100

diff -r 84510e00ebd1 -r 081ba5a13718 xen/common/event_channel.c
--- a/xen/common/event_channel.c	Wed Sep 15 08:22:16 2010 +0100
+++ b/xen/common/event_channel.c	Wed Sep 15 08:22:44 2010 +0100
@@ -994,6 +994,12 @@
 
     spin_lock(&ld->event_lock);
 
+    if ( unlikely(ld->is_dying) )
+    {
+        spin_unlock(&ld->event_lock);
+        return;
+    }
+
     ASSERT(port_is_valid(ld, lport));
     lchn = evtchn_from_port(ld, lport);
     ASSERT(lchn->consumer_is_xen);
