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

[Xen-changelog] Add a comment to tricky corner case in evtchn_close().



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 99b9046a8df224b7de7e2be6c3719c081b4af0e3
# Parent  8098cc1daac47f5ac371947a669b9ba15c6cf3f4
Add a comment to tricky corner case in evtchn_close().

Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r 8098cc1daac4 -r 99b9046a8df2 xen/common/event_channel.c
--- a/xen/common/event_channel.c        Sun Dec  4 00:52:38 2005
+++ b/xen/common/event_channel.c        Sun Dec  4 10:54:04 2005
@@ -344,6 +344,14 @@
         }
         else if ( d2 != chn1->u.interdomain.remote_dom )
         {
+            /*
+             * We can only get here if the port was closed and re-bound after
+             * unlocking d1 but before locking d2 above. We could retry but
+             * it is easier to return the same error as if we had seen the
+             * port in ECS_CLOSED. It must have passed through that state for
+             * us to end up here, so it's a valid error to return.
+             */
+            BUG_ON(d1 != current->domain);
             rc = -EINVAL;
             goto out;
         }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.