summaryrefslogtreecommitdiffstats
path: root/tun.c
diff options
context:
space:
mode:
Diffstat (limited to 'tun.c')
-rw-r--r--tun.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/tun.c b/tun.c
index 8c94f89..f2dec25 100644
--- a/tun.c
+++ b/tun.c
@@ -801,7 +801,17 @@ do_ifconfig (struct tuntap *tt,
);
}
argv_msg (M_INFO, &argv);
- openvpn_execve_check (&argv, es, S_FATAL, "Mac OS X ipconfig failed");
+ {
+ int i;
+ const int n = 15;
+ for (i = 1; i <= n; ++i) /* OSX 10.5 needs retry */
+ {
+ if (openvpn_execve_check (&argv, es, (i == n) ? S_FATAL : 0, "Mac OS X ipconfig failed"))
+ break;
+ msg (M_INFO, "Retry #%d", i);
+ openvpn_sleep(1);
+ }
+ }
tt->did_ifconfig = true;
#else
/*