2011/5/12 Antoine COETSIER <acoetsier(a)veepee.com>:
Hi all,
I would like to set a short connection timeout (only some seconds) when
using libvirt in my Python program instead of the long default one.
What do you mean by connection timeout? The time libvirt waits before
reporting an connection attempt (as in calling libvirt.open()) as
error? I'm not sure it that value is configurable?
Can you be more specific? For example what connection URI do you use
in libvirt.open() as the timeout handling will probably be transport
specific.
I found the C function: virEventAddTimeoutFunc() in the C libvirt API
here:
http://libvirt.org/html/libvirt-libvirt.html#virEventAddTimeoutFunc
and eventInvokeTimeoutCallback(timer, callback, opaque) in libvirt.py around
the line#150 but I do not know how to use it. I did not find any example on
the net.
I tried this but I get a segmentation fault: :-(
import libvirt
def timeout_cb_d():
print 'Timeout !'
try:
# try to set the libvirt timeout to 2 seconds:
t = libvirt.eventInvokeTimeoutCallback(2, timeout_cb_d, "from
dom0_class")
except:
...
Does anyone can give me a working example please?
eventInvokeTimeoutCallback has nothing to do with a connection
timeout. This function is related to the event handling.
eventInvokeTimeoutCallback is there since 2008 and on a quick look it
seems like dead code that should be removed as I can't find any caller
for it.
Matthias