]> git.puffer.fish Git - mirror/frr.git/commitdiff
2005-01-05 Paul Jakma <paul@dishone.st>
authorpaul <paul>
Wed, 5 Jan 2005 08:30:35 +0000 (08:30 +0000)
committerpaul <paul>
Wed, 5 Jan 2005 08:30:35 +0000 (08:30 +0000)
* zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
          for now, as we dont actually deal with with resending.... See
          bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
* kernel_socket.c: (routing_socket) ditto.

zebra/ChangeLog
zebra/kernel_socket.c
zebra/zserv.c

index e26204c82290d7f988201eeddb7a4e62c724bfe2..d54d8a9bcd415424b098e1ddd9c3c95dd279e2b4 100644 (file)
@@ -1,3 +1,10 @@
+2005-01-05 Paul Jakma <paul@dishone.st>
+
+       * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK
+          for now, as we dont actually deal with with resending.... See
+          bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov).
+       * kernel_socket.c: (routing_socket) ditto.
+
 2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
        * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR
index 9027cd6a1f43a6c611e9a73fb3e1df26ee6fba5e..e6e74449d2b9285ecce8a8d2a0ee25d50cc362fe 100644 (file)
@@ -966,8 +966,13 @@ routing_socket ()
       return;
     }
 
-  if (fcntl (routing_sock, F_SETFL, O_NONBLOCK) < 0) 
-    zlog_warn ("Can't set O_NONBLOCK to routing socket");
+  /* XXX: Socket should be NONBLOCK, however as we currently 
+   * discard failed writes, this will lead to inconsistencies.
+   * For now, socket must be blocking.
+   */
+  /*if (fcntl (routing_sock, F_SETFL, O_NONBLOCK) < 0) 
+    zlog_warn ("Can't set O_NONBLOCK to routing socket");*/
+    
   if ( zserv_privs.change (ZPRIVS_LOWER) )
     zlog_err ("routing_socket: Can't lower privileges");
 
index 47eb49a4cf407ebd1f5918498efd3b907cc2056b..10616b418f7a76cf6839586c4509b19451bc414b 100644 (file)
@@ -1374,10 +1374,14 @@ zebra_accept (struct thread *thread)
     }
 
   /* Make client socket non-blocking.  */
-
+  /* XXX: We dont requeue failed writes, so this leads to inconsistencies.
+   * for now socket must remain blocking, regardless of risk of deadlocks.
+   */
+  /*
   val = fcntl (client_sock, F_GETFL, 0);
   fcntl (client_sock, F_SETFL, (val | O_NONBLOCK));
-
+  */
+  
   /* Create new zebra client. */
   zebra_client_create (client_sock);