From 2ff91c09a03daaa21a0188fdbcdc62f1fb8874e5 Mon Sep 17 00:00:00 2001 From: Jose Bollo Date: Wed, 16 Jan 2019 17:23:40 +0100 Subject: [PATCH] jobs: Remove conditionnal REMOVE_SYSTEMD_EVENT The removal of the systemd event loop will be made in later changes. Change-Id: Ia6c52feb4969f360c31cbfc50ae991f1767f007d Signed-off-by: Jose Bollo --- src/afb-fdev.c | 15 -------- src/jobs.c | 108 --------------------------------------------------------- src/jobs.h | 5 --- 3 files changed, 128 deletions(-) diff --git a/src/afb-fdev.c b/src/afb-fdev.c index 8e3358d7..386e1e47 100644 --- a/src/afb-fdev.c +++ b/src/afb-fdev.c @@ -17,8 +17,6 @@ #include "fdev.h" -#if !defined(REMOVE_SYSTEMD_EVENT) - #include "afb-systemd.h" #include "fdev-systemd.h" @@ -26,16 +24,3 @@ struct fdev *afb_fdev_create(int fd) { return fdev_systemd_create(afb_systemd_get_event_loop(), fd); } - -#else - -#include "jobs.h" -#include "fdev-epoll.h" - -struct fdev *afb_fdev_create(int fd) -{ - return fdev_epoll_add(jobs_get_fdev_epoll(), fd); -} - -#endif - diff --git a/src/jobs.c b/src/jobs.c index f5c9ddea..4a88c303 100644 --- a/src/jobs.c +++ b/src/jobs.c @@ -45,10 +45,6 @@ #include "sig-monitor.h" #include "verbose.h" -#if defined(REMOVE_SYSTEMD_EVENT) -#include "fdev-epoll.h" -#endif - #define EVENT_TIMEOUT_TOP ((uint64_t)-1) #define EVENT_TIMEOUT_CHILD ((uint64_t)10000) @@ -131,11 +127,6 @@ static struct job *free_jobs; /* event loop */ static struct evloop evloop; -#if defined(REMOVE_SYSTEMD_EVENT) -static struct fdev_epoll *fdevepoll; -static int waitevt; -#endif - /** * Create a new job with the given parameters * @param group the group of the job @@ -272,23 +263,6 @@ 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 - */ -static struct fdev_epoll *get_fdevepoll() -{ - struct fdev_epoll *result; - - result = fdevepoll; - if (!result) - result = fdevepoll = fdev_epoll_create(); - - return result; -} -#endif - /** * Monitored normal callback for events. * This function is called by the monitor @@ -417,23 +391,6 @@ static void evloop_acquire() } } -#if defined(REMOVE_SYSTEMD_EVENT) -/** - * Monitored normal loop for waiting events. - * @param signum 0 on normal flow or the number - * of the signal that interrupted the normal - * flow - * @param arg the events to run - */ -static void monitored_wait_and_dispatch(int signum, void *arg) -{ - struct fdev_epoll *fdev_epoll = arg; - if (!signum) { - fdev_epoll_wait_and_dispatch(fdev_epoll, -1); - } -} -#endif - /** * Enter the thread * @param me the description of the thread to enter @@ -501,7 +458,6 @@ static void thread_run_internal(volatile struct thread *me) /* release the run job */ job_release(job); -#if !defined(REMOVE_SYSTEMD_EVENT) /* no job, check event loop wait */ } else if (evloop_get()) { if (evloop.state != 0) { @@ -524,24 +480,6 @@ static void thread_run_internal(volatile struct thread *me) pthread_cond_wait(&cond, &mutex); me->waits = 0; running++; -#else - } else if (waitevt) { - /* no job and not events */ - running--; - if (!running) - ERROR("Entering job deep sleep! Check your bindings."); - me->waits = 1; - pthread_cond_wait(&cond, &mutex); - me->waits = 0; - running++; - } else { - /* wait for events */ - waitevt = 1; - pthread_mutex_unlock(&mutex); - sig_monitor(0, monitored_wait_and_dispatch, get_fdevepoll()); - pthread_mutex_lock(&mutex); - waitevt = 0; -#endif } } /* cleanup */ @@ -833,15 +771,6 @@ static int on_evloop_efd(sd_event_source *s, int fd, uint32_t revents, void *use return 1; } -/* temporary hack */ -#if !defined(REMOVE_SYSTEMD_EVENT) -__attribute__((unused)) -#endif -static void evloop_callback(void *arg, uint32_t event, struct fdev *fdev) -{ - sig_monitor(0, evloop_run, arg); -} - /** * Gets a sd_event item for the current thread. * @return a sd_event or NULL in case of error @@ -870,7 +799,6 @@ static struct sd_event *get_sd_event_locked() rc = sd_event_add_io(evloop.sdev, NULL, evloop.efd, EPOLLIN, on_evloop_efd, NULL); if (rc < 0) { ERROR("can't register eventfd"); -#if !defined(REMOVE_SYSTEMD_EVENT) sd_event_unref(evloop.sdev); evloop.sdev = NULL; error2: @@ -878,25 +806,6 @@ error2: error1: return NULL; } -#else - goto error3; - } - /* handle the event loop */ - evloop.fdev = fdev_epoll_add(get_fdevepoll(), sd_event_get_fd(evloop.sdev)); - if (!evloop.fdev) { - ERROR("can't create fdev"); -error3: - sd_event_unref(evloop.sdev); -error2: - close(evloop.efd); -error1: - memset(&evloop, 0, sizeof evloop); - return NULL; - } - fdev_set_autoclose(evloop.fdev, 0); - fdev_set_events(evloop.fdev, EPOLLIN); - fdev_set_callback(evloop.fdev, evloop_callback, NULL); -#endif } /* acquire the event loop */ @@ -945,23 +854,6 @@ 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 - */ -struct fdev_epoll *jobs_get_fdev_epoll() -{ - struct fdev_epoll *result; - - pthread_mutex_lock(&mutex); - result = get_fdevepoll(); - pthread_mutex_unlock(&mutex); - - return result; -} -#endif - /** * Enter the jobs processing loop. * @param allowed_count Maximum count of thread for jobs including this one diff --git a/src/jobs.h b/src/jobs.h index 58adc1c7..1a919686 100644 --- a/src/jobs.h +++ b/src/jobs.h @@ -48,10 +48,5 @@ 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 -- 2.16.6