]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Handle connect errors correctly.
authorMartin Mares <mj@ucw.cz>
Thu, 27 Apr 2000 19:41:10 +0000 (19:41 +0000)
committerMartin Mares <mj@ucw.cz>
Thu, 27 Apr 2000 19:41:10 +0000 (19:41 +0000)
proto/bgp/bgp.c

index 0939f691c4ad05de573e10803e63795f136d46d0..d694555df0b10332e689cac06556f1d69644e20b 100644 (file)
@@ -160,16 +160,18 @@ bgp_sock_err(sock *sk, int err)
     {
     case BS_CONNECT:
     case BS_OPENSENT:
+      sk_close(conn->sk);
+      conn->sk = NULL;
       conn->state = BS_ACTIVE;
       bgp_start_timer(conn->connect_retry_timer, conn->bgp->cf->connect_retry_time);
       break;
     case BS_OPENCONFIRM:
     case BS_ESTABLISHED:
+      bgp_close_conn(conn);
       break;
     default:
       bug("bgp_sock_err called in invalid state %d", conn->state);
     }
-  bgp_close_conn(conn);
 }
 
 static void