diff -rup libvirt-0.6.0.orig/src/remote_internal.c libvirt-0.6.0.new/src/remote_internal.c --- libvirt-0.6.0.orig/src/remote_internal.c 2009-02-18 10:56:34.000000000 +0000 +++ libvirt-0.6.0.new/src/remote_internal.c 2009-02-18 13:35:26.000000000 +0000 @@ -654,12 +654,13 @@ doRemoteOpen (virConnectPtr conn, */ if (errno == ECONNREFUSED && flags & VIR_DRV_OPEN_REMOTE_AUTOSTART && - trials < 5) { + trials < 20) { close(priv->sock); priv->sock = -1; - if (remoteForkDaemon(conn) == 0) { + if (trials > 0 || + remoteForkDaemon(conn) == 0) { trials++; - usleep(5000 * trials * trials); + usleep(1000 * 100 * trials); goto autostart_retry; } } Only in libvirt-0.6.0.new/src: remote_internal.c~