bgpd: uncork after each write

Keep data flowing, uncork after each BGP_WRITE_PACKET_MAX.
This makes TCP send data sooner, since thread may not be scheduled
again for a a longish time because of new UPDATE's coming in.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 02863d7..b0918fc 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -677,7 +677,8 @@
 
 	  /* Flush any existing events */
 	  BGP_EVENT_ADD (peer, BGP_Stop);
-	  return 0;
+	  goto done;
+
 	case BGP_MSG_KEEPALIVE:
 	  peer->keepalive_out++;
 	  break;
@@ -698,9 +699,9 @@
   
   if (bgp_write_proceed (peer))
     BGP_WRITE_ON (peer->t_write, bgp_write, peer->fd);
-  else
-    sockopt_cork (peer->fd, 0);
-  
+
+ done:
+  sockopt_cork (peer->fd, 0);
   return 0;
 }