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