Do not set accepted stream or UDP stream by default into
authorPekka Riikonen <priikone@silcnet.org>
Wed, 9 May 2007 19:58:59 +0000 (19:58 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Wed, 9 May 2007 19:58:59 +0000 (19:58 +0000)
non-blocking mode.
Set non-blocking mode always when socket stream notifier is called.

lib/silcutil/unix/silcunixnet.c
lib/silcutil/unix/silcunixsocketstream.c

index 76eba36ea17fcb1b2df1fe2600d6b4a5f55c6df9..20a55ebbc85ddbe9d079fd7a6fbfe99604e623d7 100644 (file)
@@ -114,7 +114,6 @@ SILC_TASK_CALLBACK(silc_net_accept)
     return;
 
   /* Set socket options */
-  silc_net_set_socket_nonblock(sock);
   silc_net_set_socket_opt(sock, SOL_SOCKET, SO_REUSEADDR, 1);
 
   /* Create socket stream */
@@ -298,9 +297,6 @@ silc_net_udp_connect(const char *local_ip_addr, int local_port,
     goto err;
   }
 
-  /* Set socket to non-blocking mode */
-  silc_net_set_socket_nonblock(sock);
-
   /* Set to connected state if remote address is provided. */
   if (remote_ip_addr && remote_port) {
     if (!silc_net_set_sockaddr(&server, remote_ip_addr, remote_port))
index f3107f39c36a1044401de229ea04a69de7fe01c7..4b5f0ac11efffb255ed0da5d651c5187ab89ce2a 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 1997 - 2006 Pekka Riikonen
+  Copyright (C) 1997 - 2007 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -313,6 +313,9 @@ SilcBool silc_socket_stream_notifier(SilcStream stream,
   socket_stream->schedule = schedule;
 
   if (socket_stream->notifier && socket_stream->schedule) {
+    /* Set the socket to non-blocking mode */
+    silc_net_set_socket_nonblock(socket_stream->sock);
+
     /* Add the socket to scheduler.  Safe to call if already added. */
     if (!silc_schedule_task_add_fd(socket_stream->schedule,
                                   socket_stream->sock,