libmicrohttpd: Fix listening and epoll together 83/17683/2
authorJosé Bollo <jose.bollo@iot.bzh>
Mon, 5 Nov 2018 17:28:38 +0000 (18:28 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Wed, 7 Nov 2018 16:53:57 +0000 (16:53 +0000)
It appeared recently that libmicrohhtpd isn't able
to manage listening interfaces and at the same time
to manage in/out streams using epoll.

After discussion with maintainers of libmicrohttpd
this is a bug and is already corrected. See:

 https://gnunet.org/git/libmicrohttpd.git/commit/?id=3fc686e

While waiting for integration of this patched version
in poky/openembedded, it is needed to have that patch
integrated in AGL for running binders aware of listening
interfaces.

Upstream-Status: Accepted

Bug-AGL: SPEC-1896

Change-Id: Ib436f6b4be27e638fedbae22f690109fb064c8e7
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
meta-agl-profile-core/recipes-support/libmicrohttpd/files/0001-Enable-using-epoll-without-listen-socket_0.9.55.patch [new file with mode: 0644]
meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bbappend [new file with mode: 0644]

diff --git a/meta-agl-profile-core/recipes-support/libmicrohttpd/files/0001-Enable-using-epoll-without-listen-socket_0.9.55.patch b/meta-agl-profile-core/recipes-support/libmicrohttpd/files/0001-Enable-using-epoll-without-listen-socket_0.9.55.patch
new file mode 100644 (file)
index 0000000..4e807f8
--- /dev/null
@@ -0,0 +1,31 @@
+From 5a410caefa1cb0337c8c1457a7619549829fe129 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Bollo?= <jose.bollo@iot.bzh>
+Date: Mon, 5 Nov 2018 15:37:53 +0100
+Subject: [PATCH] Enable using epoll() without listen socket.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: Iadcb7fa936bf193987f098e6d8b5815456765a85
+Signed-off-by: José Bollo <jose.bollo@iot.bzh>
+---
+ src/microhttpd/daemon.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
+index 71a0ce0b..018e7289 100644
+--- a/src/microhttpd/daemon.c
++++ b/src/microhttpd/daemon.c
+@@ -5914,8 +5914,7 @@ MHD_start_daemon_va (unsigned int flags,
+ #ifdef EPOLL_SUPPORT
+   if ( (0 != (*pflags & MHD_USE_EPOLL)) &&
+-       (0 == daemon->worker_pool_size) &&
+-       (0 == (*pflags & MHD_USE_NO_LISTEN_SOCKET)) )
++       (0 == daemon->worker_pool_size) )
+     {
+       if (0 != (*pflags & MHD_USE_THREAD_PER_CONNECTION))
+       {
+-- 
+2.17.2
+
diff --git a/meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bbappend b/meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bbappend
new file mode 100644 (file)
index 0000000..f7bde04
--- /dev/null
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI_append = " file://0001-Enable-using-epoll-without-listen-socket_${PV}.patch"