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

Re: [Xen-devel] Re: [Xen-changelog] The dom destroy path is doing a dom_get on a non-existent domain to



> > This is not actually true, right?  There are several places in the
> > code that blindly use the return value of dom_get(), assuming that it
> > is actually anything but None.  The closest example is in the update()
> > function, several lines down:
> >
> >   self.info = info or dom_get(self.domid)
>
> Ah, my bad. I misinterpreted this as a boolean expression at first
> glance.  Note, dom_get was already returning None when the domain
> wasn't found, but another exception was preventing it from getting
> that far. We're just moving the exceptions around, now.

Well really it is a boolean expression but it follows the Perl/Python 
convention of using short-circuit evaluation of booleans for things like 
control flow.  It's fine once you've run into it.  My favourite is the Python 
idiom for the ternary conditional:

a = (b and c) or d)

Which actually means (assuming c isn't false, or equivalent):

a = b ? c : d;

:-D

Cheers,
Mark

> >   self.memory = self.info['mem_kb'] / 1024
> >
> > Clearly, we need to decide what behavior dom_get() is expected to
> > have.  Do we expect it to return None if the domid is not found, or do
> > we expect the domain we're asking about to always be present
> > (i.e. throw an exception if not)?
> >
> > If nobody has strong feelings either way, I'll work up a patch to fix
> > it.
>
> My original fix was to allow dom_get to raise the exception, and I
> just ignored it in delete(), since we are not expecting to find the
> domain in the first place there.  On second thought, this was
> probably a better approach, since the other uses of dom_get would be
> better off if they got exceptions instead of None.
>
> robert
>
> > --
> > Dan Smith
> > IBM Linux Technology Center
> > Open Hypervisor Team
> > email: danms@xxxxxxxxxx
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
>
> --
> Robert Read
> robert@xxxxxxxxxxxxx
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

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


 


Rackspace

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