ignore EAGAIN from accept()
authorChristian Grothoff <christian@grothoff.org>
Sat, 28 Feb 2015 15:56:19 +0000 (15:56 +0000)
committerChristian Grothoff <christian@grothoff.org>
Sat, 28 Feb 2015 15:56:19 +0000 (15:56 +0000)
src/util/connection.c
src/util/server.c

index 8560f52af5d36d3f615791845888e11fa451a857..cd3ebad611f967064cc8ba96c57bb165db2c5c30 100644 (file)
@@ -342,7 +342,8 @@ GNUNET_CONNECTION_create_from_accept (GNUNET_CONNECTION_AccessCheck access_cb,
       GNUNET_NETWORK_socket_accept (lsock, (struct sockaddr *) &addr, &addrlen);
   if (NULL == sock)
   {
-    LOG_STRERROR (GNUNET_ERROR_TYPE_WARNING, "accept");
+    if (EAGAIN != errno)
+      LOG_STRERROR (GNUNET_ERROR_TYPE_WARNING, "accept");
     return NULL;
   }
   if ((addrlen > sizeof (addr)) || (addrlen < sizeof (sa_family_t)))
index 32ef22efd61d36f62f647c168c8140bc8218230f..920d4ab334c0316a7c3d65b672962952d1c1f379 100644 (file)
@@ -406,10 +406,10 @@ process_listen_socket (void *cls,
     GNUNET_SERVER_resume (server);
     return;
   }
-  i = 0;
-  while (NULL != server->listen_sockets[i])
+  for (i = 0; NULL != server->listen_sockets[i]; i++)
   {
-    if (GNUNET_NETWORK_fdset_isset (tc->read_ready, server->listen_sockets[i]))
+    if (GNUNET_NETWORK_fdset_isset (tc->read_ready,
+                                    server->listen_sockets[i]))
     {
       sock =
           GNUNET_CONNECTION_create_from_accept (server->access_cb,
@@ -423,7 +423,6 @@ process_listen_socket (void *cls,
                                              sock);
       }
     }
-    i++;
   }
   /* listen for more! */
   GNUNET_SERVER_resume (server);