aboutsummaryrefslogtreecommitdiffstats
path: root/src/afb-fdev.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2018-03-23 18:58:37 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2018-06-13 17:14:13 +0200
commitcab05ba72abeb335b456b0820e053c94b91986e7 (patch)
tree7052b78f77089bb4a3a42e0f215cd444d14f72eb /src/afb-fdev.c
parente7e42ce9196e865a2dfd5a460932b0357885e603 (diff)
jobs: Switch to fdev_epoll instead of sd_event
Use by default an epoll of jobs for handling HTTP and websockets. The sd_event loop remains available (to be checked). Change-Id: Iaaad005c9880ba1818936a93c8626490666c9eec Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-fdev.c')
-rw-r--r--src/afb-fdev.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/afb-fdev.c b/src/afb-fdev.c
index 943c2542..1c36091e 100644
--- a/src/afb-fdev.c
+++ b/src/afb-fdev.c
@@ -15,8 +15,19 @@
* limitations under the License.
*/
-#include "afb-systemd.h"
#include "fdev.h"
+
+#if defined(WITH_SYSTEMD_EVENT)
+# define USE_SYSTEMD 1
+# define USE_EPOLL 0
+#else
+# define USE_SYSTEMD 0
+# define USE_EPOLL 1
+#endif
+
+#if USE_SYSTEMD
+
+#include "afb-systemd.h"
#include "fdev-systemd.h"
struct fdev *afb_fdev_create(int fd)
@@ -24,3 +35,17 @@ struct fdev *afb_fdev_create(int fd)
return fdev_systemd_create(afb_systemd_get_event_loop(), fd);
}
+#endif
+
+#if USE_EPOLL
+
+#include "jobs.h"
+#include "fdev-epoll.h"
+
+struct fdev *afb_fdev_create(int fd)
+{
+ return fdev_epoll_add(jobs_get_fdev_epoll(), fd);
+}
+
+#endif
+