diff options
author | Jose Bollo <jose.bollo@iot.bzh> | 2018-07-25 16:48:42 +0200 |
---|---|---|
committer | Jose Bollo <jose.bollo@iot.bzh> | 2018-07-25 17:29:21 +0200 |
commit | 635772bd8cf7ad5c4f4caff441e2809e7b8de16a (patch) | |
tree | 6c59f1bcdd9749ba7b6c768937b7fb94b394ce57 | |
parent | 9cbff28c8a97e7a5dc36f6e6225a9d5e2eab8f06 (diff) |
Tune dependency to fdev-epoll
The dependency to fdev-epoll is not real
at the moment because afb-daemon still uses
systemd event loop mechanisms. At the end
use of it will depend on the conditional
compilation flag as REMOVE_SYSTEMD_EVENT here.
Change-Id: I46e65cddafef05a9418cd4cf4d5cbf596ebeda49
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/afb-fdev.c | 12 | ||||
-rw-r--r-- | src/jobs.c | 19 | ||||
-rw-r--r-- | src/jobs.h | 12 |
3 files changed, 21 insertions, 22 deletions
diff --git a/src/afb-fdev.c b/src/afb-fdev.c index 2c96ef52..8e3358d7 100644 --- a/src/afb-fdev.c +++ b/src/afb-fdev.c @@ -18,14 +18,6 @@ #include "fdev.h" #if !defined(REMOVE_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" @@ -35,9 +27,7 @@ struct fdev *afb_fdev_create(int fd) return fdev_systemd_create(afb_systemd_get_event_loop(), fd); } -#endif - -#if USE_EPOLL +#else #include "jobs.h" #include "fdev-epoll.h" @@ -44,7 +44,11 @@ #include "jobs.h" #include "sig-monitor.h" #include "verbose.h" + +#if defined(REMOVE_SYSTEMD_EVENT) #include "fdev-epoll.h" +#endif + #if 0 #define _alert_ "do you really want to remove signal monitoring?" #define sig_monitor_init_timeouts() ((void)0) @@ -131,11 +135,11 @@ static struct job *free_jobs; /* event loop */ static struct evloop evloop[1]; + +#if defined(REMOVE_SYSTEMD_EVENT) static struct fdev_epoll *fdevepoll; -#if !defined(REMOVE_SYSTEMD_EVENT) -__attribute__((unused)) -#endif static int waitevt; +#endif /** * Create a new job with the given parameters @@ -269,6 +273,7 @@ static void job_cancel(int signum, void *arg) job->callback(SIGABRT, job->arg); } +#if defined(REMOVE_SYSTEMD_EVENT) /** * Gets a fdev_epoll item. * @return a fdev_epoll or NULL in case of error @@ -283,6 +288,7 @@ static struct fdev_epoll *get_fdevepoll() return result; } +#endif /** * Monitored normal callback for events. @@ -331,6 +337,7 @@ static void evloop_run(int signum, void *arg) } +#if defined(REMOVE_SYSTEMD_EVENT) /** * Monitored normal loop for waiting events. * @param signum 0 on normal flow or the number @@ -338,9 +345,6 @@ static void evloop_run(int signum, void *arg) * flow * @param arg the events to run */ -#if !defined(REMOVE_SYSTEMD_EVENT) -__attribute__((unused)) -#endif static void monitored_wait_and_dispatch(int signum, void *arg) { struct fdev_epoll *fdev_epoll = arg; @@ -348,6 +352,7 @@ static void monitored_wait_and_dispatch(int signum, void *arg) fdev_epoll_wait_and_dispatch(fdev_epoll, -1); } } +#endif /** * Main processing loop of threads processing jobs. @@ -823,6 +828,7 @@ struct sd_event *jobs_get_sd_event() return result; } +#if defined(REMOVE_SYSTEMD_EVENT) /** * Gets the fdev_epoll item. * @return a fdev_epoll or NULL in case of error @@ -837,6 +843,7 @@ struct fdev_epoll *jobs_get_fdev_epoll() return result; } +#endif /** * Enter the jobs processing loop. @@ -17,8 +17,6 @@ #pragma once -struct fdev_epoll; -struct sd_event; struct jobloop; extern int jobs_queue( @@ -41,9 +39,6 @@ extern int jobs_call( void (*callback)(int, void*), void *arg); -extern struct sd_event *jobs_get_sd_event(); -extern struct fdev_epoll *jobs_get_fdev_epoll(); - extern void jobs_terminate(); extern int jobs_start( @@ -53,3 +48,10 @@ extern int jobs_start( void (*start)(int signum, void* arg), void *arg); +#if !defined(REMOVE_SYSTEMD_EVENT) +struct sd_event; +extern struct sd_event *jobs_get_sd_event(); +#else +struct fdev_epoll; +extern struct fdev_epoll *jobs_get_fdev_epoll(); +#endif |