
On Mon, Sep 28, 2009 at 04:30:06PM -0600, Jim Fehlig wrote:
Chris Lalancette wrote:
While your patch would fix the problem, I'm not sure it's a good long-term solution. Other differences might come up in the future, and trying to worry about vshDeinit being re-entrant is probably not worth the effort. (Indeed, it looks like there were earlier attempts to avoid this, but things have changed since then, breaking the workaround). I think we should make it so that vshDeinit() does not try to re-enter itself. At the moment I don't have a patch, but I would look at either splitting vshError() into vshPrintError() and vshError(), or just doing a couple of fprintf()'s directly in vshDeinit() and not calling vshError() at all (with a comment explaining why).
I'm seeing this problem in 0.7.1 as well when explicitly providing a connection URI, e.g. 'virsh -c ...'. I cooked up a patch based on your latter suggestion but changed it to the attached after chatting with danpb on IRC. This approach removes the doexit parameter and vshDeinit() call from vshError() altogether, requiring callers of vshError() to exit if they so desire.
Looks fine, better simplify this, applied, thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/