changeset 1226:242cc3d2e166 draft

Check carrier eariler. Thanks to Michael Olney.
author Roy Marples <roy@marples.name>
date Tue, 24 Feb 2009 00:02:41 +0000
parents 52e377562593
children 03e00bdbfffa
files client.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/client.c	Mon Feb 23 12:19:52 2009 +0000
+++ b/client.c	Tue Feb 24 00:02:41 2009 +0000
@@ -1261,6 +1261,8 @@
 		timerclear(&state->stop);
 		/* FALLTHROUGH */
 	case STATE_INIT:
+		if (state->carrier == LINK_DOWN)
+			return 0;
 		do_socket(state, SOCKET_OPEN);
 		state->xid = arc4random();
 		iface->start_uptime = uptime();
@@ -1284,8 +1286,6 @@
 		}
 		/* FALLTHROUGH */
 	case STATE_INIT:
-		if (state->carrier == LINK_DOWN)
-			return 0;
 		if (lease->addr.s_addr == 0 ||
 		    IN_LINKLOCAL(ntohl(iface->addr.s_addr)))
 		{