[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |