+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
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");
}
/* 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);