On Mon, Jun 12, 2006 at 04:01:33PM +0100, Daniel P. Berrange wrote: > Currently the XenD driver's implementation of the 'open' method will return > success, regardless of whether XenD is even present. The attached patch > makes the open method do a 'ping' to see if XenD is actually there, returning > failure if it is not. This ensures that the XenD driver backend doesn't get > activated when connecting to alternate non-Xen backends, such as the test > backend I committed last week. Yes that makes sense. I think originally the point was to be able to start some monitoring tool before xend was started (and it's simpler) but now this need fixing, you are right. > The current 'ping' is simply to call the xenDaemonGetVersion() method since > that's a pretty simle & low-overhead way to testing livliness of XenD. Any > suggestions for a better ping - if not I'll go ahead & commit this change [...] > + /* A sort of "ping" to make sure the daemon is actually > + alive & well, rather than just assuming it is */ > + if ((ret = xenDaemonGetVersion(conn, &version)) < 0) { hum, it seems the connection should be closed in that error case, or we may be leaking. Not 100% since I don't have the full context right now. Once checked, yes please commit :-) > + return ret; > + } > > /* return(xenDaemonOpen_unix(conn, "/var/lib/xend/xend-socket")); */ thanks ! Daniel -- Daniel Veillard | Red Hat http://redhat.com/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/