gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r33735 - in libmicrohttpd: . src/include src/microhttpd


From: gnunet
Subject: [GNUnet-SVN] r33735 - in libmicrohttpd: . src/include src/microhttpd
Date: Thu, 19 Jun 2014 17:35:25 +0200

Author: grothoff
Date: 2014-06-19 17:35:25 +0200 (Thu, 19 Jun 2014)
New Revision: 33735

Modified:
   libmicrohttpd/ChangeLog
   libmicrohttpd/src/include/microhttpd.h
   libmicrohttpd/src/microhttpd/daemon.c
Log:
-fix lack of adding listen FD to epoll set for external select before first 
call to MHD_run (see mailinglist)

Modified: libmicrohttpd/ChangeLog
===================================================================
--- libmicrohttpd/ChangeLog     2014-06-19 12:08:54 UTC (rev 33734)
+++ libmicrohttpd/ChangeLog     2014-06-19 15:35:25 UTC (rev 33735)
@@ -1,3 +1,9 @@
+Thu Jun 19 17:32:32 CEST 2014
+       Ensure that listen FD is bound to epoll FD even before
+       MHD_run() is called if running with MHD_USE_EPOLL_LINUX_ONLY
+       in combination with 'external select' mode.  Thanks to
+       Marcos Pindado Sebastian for reporting. -CG
+
 Sun Jun  8 15:10:44 CEST 2014
        Add 'MHD_set_response_options' as a way to set per-response
        flags.  Add flag to force HTTP 1.0-only conservative

Modified: libmicrohttpd/src/include/microhttpd.h
===================================================================
--- libmicrohttpd/src/include/microhttpd.h      2014-06-19 12:08:54 UTC (rev 
33734)
+++ libmicrohttpd/src/include/microhttpd.h      2014-06-19 15:35:25 UTC (rev 
33735)
@@ -130,7 +130,7 @@
  * Current version of the library.
  * 0x01093001 = 1.9.30-1.
  */
-#define MHD_VERSION 0x00093701
+#define MHD_VERSION 0x00093702
 
 /**
  * MHD-internal return code for "YES".

Modified: libmicrohttpd/src/microhttpd/daemon.c
===================================================================
--- libmicrohttpd/src/microhttpd/daemon.c       2014-06-19 12:08:54 UTC (rev 
33734)
+++ libmicrohttpd/src/microhttpd/daemon.c       2014-06-19 15:35:25 UTC (rev 
33735)
@@ -3521,37 +3521,11 @@
       goto free_and_fail;
     }
 #endif
-#if EPOLL_SUPPORT
-  if ( (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY)) &&
-       (0 == daemon->worker_pool_size) &&
-       (0 == (daemon->options & MHD_USE_NO_LISTEN_SOCKET)) )
-    {
-      if (0 != (flags & MHD_USE_THREAD_PER_CONNECTION))
-       {
-#if HAVE_MESSAGES
-         MHD_DLOG (daemon,
-                   "Combining MHD_USE_THREAD_PER_CONNECTION and 
MHD_USE_EPOLL_LINUX_ONLY is not supported.\n");
-#endif
-         goto free_and_fail;
-       }
-      if (MHD_YES != setup_epoll_to_listen (daemon))
-       goto free_and_fail;
-    }
-#else
-  if (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY))
-    {
-#if HAVE_MESSAGES
-      MHD_DLOG (daemon,
-               "epoll is not supported on this platform by this build.\n");
-#endif
-      goto free_and_fail;
-    }
-#endif
   if ( (MHD_INVALID_SOCKET == daemon->socket_fd) &&
        (0 == (daemon->options & MHD_USE_NO_LISTEN_SOCKET)) )
     {
       /* try to open listen socket */
-      if ((flags & MHD_USE_IPv6) != 0)
+      if (0 != (flags & MHD_USE_IPv6))
        socket_fd = create_socket (daemon,
                                   PF_INET6, SOCK_STREAM, 0);
       else
@@ -3724,6 +3698,33 @@
     }
 #endif
 
+#if EPOLL_SUPPORT
+  if ( (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY)) &&
+       (0 == daemon->worker_pool_size) &&
+       (0 == (daemon->options & MHD_USE_NO_LISTEN_SOCKET)) )
+    {
+      if (0 != (flags & MHD_USE_THREAD_PER_CONNECTION))
+       {
+#if HAVE_MESSAGES
+         MHD_DLOG (daemon,
+                   "Combining MHD_USE_THREAD_PER_CONNECTION and 
MHD_USE_EPOLL_LINUX_ONLY is not supported.\n");
+#endif
+         goto free_and_fail;
+       }
+      if (MHD_YES != setup_epoll_to_listen (daemon))
+       goto free_and_fail;
+    }
+#else
+  if (0 != (flags & MHD_USE_EPOLL_LINUX_ONLY))
+    {
+#if HAVE_MESSAGES
+      MHD_DLOG (daemon,
+               "epoll is not supported on this platform by this build.\n");
+#endif
+      goto free_and_fail;
+    }
+#endif
+
   if (MHD_YES != MHD_mutex_create_ (&daemon->per_ip_connection_mutex))
     {
 #if HAVE_MESSAGES




reply via email to

[Prev in Thread] Current Thread [Next in Thread]