|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] Add a comment to tricky corner case in	evtchn_close().,
Xen patchbot -unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |