|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] XenDomainInfo.py: Can hang in _releaseDevices.
 
A section of code does: 
         while True:
            t = xstransact("%s/device" % self.dompath)
            for devclass in XendDevices.valid_devices():
                for dev in t.list(devclass):
                    try:
                        t.remove(dev)
                    except:
                        # Log and swallow any exceptions in removal --
                        # there's nothing more we can do.
                        log.exception(
                           "Device release failed: %s; %s; %s",
                           self.info['name_label'], devclass, dev)
            if t.commit():
                break
If commit() doesn't work because (for example) the device has already
been removed or not correctly created, it will hang xend forever. [I
managed to create such a case when adding some extra case to remove some
other stuff]. 
Wouldn't it be a good idea to make a "best attempt" of doing this, say,
10 or 100 times, then give up?
--
Mats
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] XenDomainInfo.py: Can hang in _releaseDevices.,
Petersson, Mats <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |