bitkeeper revision 1.1563 (4295e70c6gPBeUtVURfaYnxTU_GbrA)

Make disconnect/destroy messages from xend to the backend drivers wait for 
responses to allow backends to shut down the connection properly.
This commit is contained in:
akw27@arcadians.cl.cam.ac.uk committed 2005-05-26 15:11:08 +00:00
1 parent 72745b479d
commit f6b4946f94
3 files changed
+11 -6

No files matched your search

+4 -2
View File
@@ -103,14 +103,16 @@ class BlkifBackend:
msg = packMsg('blkif_be_disconnect_t',
{ 'domid' : self.frontendDomain,
'blkif_handle' : self.id })
self.backendChannel.writeRequest(msg)
self.backendChannel.requestResponse(msg)
#todo: check return status
self.connected = False
def send_be_destroy(self):
msg = packMsg('blkif_be_destroy_t',
{ 'domid' : self.frontendDomain,
'blkif_handle' : self.id })
self.backendChannel.writeRequest(msg)
self.backendChannel.requestResponse(msg)
#todo: check return status
def connectInterface(self, val):
self.openEvtchn()
+4 -2
View File
@@ -313,13 +313,15 @@ class NetDev(Dev):
msg = packMsg('netif_be_disconnect_t',
{ 'domid' : self.frontendDomain,
'netif_handle' : self.vif })
return self.backendChannel.writeRequest(msg)
self.backendChannel.requestResponse(msg)
#todo: check return status
def send_be_destroy(self, response=None):
msg = packMsg('netif_be_destroy_t',
{ 'domid' : self.frontendDomain,
'netif_handle' : self.vif })
return self.backendChannel.writeRequest(msg)
self.backendChannel.requestResponse(msg)
#todo: check return status
def recv_fe_interface_connect(self, val):
self.openEvtchn()
+3 -2
View File
@@ -89,13 +89,14 @@ class UsbBackend:
log.debug('>UsbifBackendController>send_be_disconnect> %s', str(self))
msg = packMsg('usbif_be_disconnect_t',
{ 'domid' : self.frontendDomain })
self.backendChannel.writeRequest(msg)
self.backendChannel.requestResponse(msg)
def send_be_destroy(self, response=None):
log.debug('>UsbifBackendController>send_be_destroy> %s', str(self))
msg = packMsg('usbif_be_destroy_t',
{ 'domid' : self.frontendDomain })
self.backendChannel.writeRequest(msg, response=response)
self.backendChannel.requestResponse(msg)
#todo: check return status
def connectInterface(self, val):
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.