[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r37873 - in libmicrohttpd/src: include microhttpd
From: |
gnunet |
Subject: |
[GNUnet-SVN] r37873 - in libmicrohttpd/src: include microhttpd |
Date: |
Sun, 4 Sep 2016 17:16:58 +0200 |
Author: grothoff
Date: 2016-09-04 17:16:58 +0200 (Sun, 04 Sep 2016)
New Revision: 37873
Modified:
libmicrohttpd/src/include/microhttpd.h
libmicrohttpd/src/microhttpd/test_upgrade.c
libmicrohttpd/src/microhttpd/test_upgrade_common.c
libmicrohttpd/src/microhttpd/test_upgrade_ssl.c
Log:
also add tests for external select/epoll for connection upgrades
Modified: libmicrohttpd/src/include/microhttpd.h
===================================================================
--- libmicrohttpd/src/include/microhttpd.h 2016-09-04 15:15:06 UTC (rev
37872)
+++ libmicrohttpd/src/include/microhttpd.h 2016-09-04 15:16:58 UTC (rev
37873)
@@ -1323,6 +1323,7 @@
* No extra arguments should be passed.
*/
MHD_DAEMON_INFO_EPOLL_FD_LINUX_ONLY,
+ MHD_DAEMON_INFO_EPOLL_FD = MHD_DAEMON_INFO_EPOLL_FD_LINUX_ONLY,
/**
* Request the number of current connections handled by the daemon.
@@ -2695,7 +2696,7 @@
size_t mac_key_size;
/**
- * Listen socket file descriptor, for #MHD_DAEMON_INFO_EPOLL_FD_LINUX_ONLY
+ * Socket, returned for #MHD_DAEMON_INFO_EPOLL_FD
* and #MHD_DAEMON_INFO_LISTEN_FD.
*/
MHD_socket listen_fd;
Modified: libmicrohttpd/src/microhttpd/test_upgrade.c
===================================================================
--- libmicrohttpd/src/microhttpd/test_upgrade.c 2016-09-04 15:15:06 UTC (rev
37872)
+++ libmicrohttpd/src/microhttpd/test_upgrade.c 2016-09-04 15:16:58 UTC (rev
37873)
@@ -56,6 +56,7 @@
MHD_socket sock;
struct sockaddr_in sa;
+ done = 0;
if (0 == (flags & MHD_USE_THREAD_PER_CONNECTION))
flags |= MHD_USE_SUSPEND_RESUME;
d = MHD_start_daemon (flags | MHD_USE_DEBUG,
@@ -101,6 +102,10 @@
/* try external select */
error_count += test_upgrade (0,
0);
+#ifdef EPOLL_SUPPORT
+ error_count += test_upgrade (MHD_USE_EPOLL,
+ 0);
+#endif
/* Test thread-per-connection */
error_count += test_upgrade (MHD_USE_THREAD_PER_CONNECTION,
@@ -125,7 +130,6 @@
error_count += test_upgrade (MHD_USE_EPOLL_INTERNALLY,
2);
#endif
-
/* report result */
if (0 != error_count)
fprintf (stderr,
Modified: libmicrohttpd/src/microhttpd/test_upgrade_common.c
===================================================================
--- libmicrohttpd/src/microhttpd/test_upgrade_common.c 2016-09-04 15:15:06 UTC
(rev 37872)
+++ libmicrohttpd/src/microhttpd/test_upgrade_common.c 2016-09-04 15:16:58 UTC
(rev 37873)
@@ -413,7 +413,7 @@
static void
run_mhd_poll_loop (struct MHD_Daemon *daemon)
{
- abort (); // not implemented
+ abort (); /* currently not implementable with existing MHD API */
}
@@ -426,7 +426,32 @@
static void
run_mhd_epoll_loop (struct MHD_Daemon *daemon)
{
- abort (); // not implemented
+ const union MHD_DaemonInfo *di;
+ MHD_socket ep;
+ fd_set rs;
+ MHD_UNSIGNED_LONG_LONG to;
+ struct timeval tv;
+
+ di = MHD_get_daemon_info (daemon,
+ MHD_DAEMON_INFO_EPOLL_FD);
+ ep = di->listen_fd;
+ while (! done)
+ {
+ FD_ZERO (&rs);
+ to = 1000;
+
+ FD_SET (ep, &rs);
+ MHD_get_timeout (daemon,
+ &to);
+ tv.tv_sec = to / 1000;
+ tv.tv_usec = 1000 * (to % 1000);
+ select (ep + 1,
+ &rs,
+ NULL,
+ NULL,
+ &tv);
+ MHD_run (daemon);
+ }
}
Modified: libmicrohttpd/src/microhttpd/test_upgrade_ssl.c
===================================================================
--- libmicrohttpd/src/microhttpd/test_upgrade_ssl.c 2016-09-04 15:15:06 UTC
(rev 37872)
+++ libmicrohttpd/src/microhttpd/test_upgrade_ssl.c 2016-09-04 15:16:58 UTC
(rev 37873)
@@ -108,6 +108,7 @@
MHD_socket sock;
pid_t pid;
+ done = 0;
if (0 == (flags & MHD_USE_THREAD_PER_CONNECTION))
flags |= MHD_USE_SUSPEND_RESUME;
d = MHD_start_daemon (flags | MHD_USE_DEBUG | MHD_USE_TLS,
@@ -160,6 +161,10 @@
/* try external select */
error_count += test_upgrade (0,
0);
+#ifdef EPOLL_SUPPORT
+ error_count += test_upgrade (MHD_USE_TLS_EPOLL_UPGRADE,
+ 0);
+#endif
/* Test thread-per-connection */
error_count += test_upgrade (MHD_USE_THREAD_PER_CONNECTION,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r37873 - in libmicrohttpd/src: include microhttpd,
gnunet <=