#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)
/* 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
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
return result;
}
+#endif
/**
* Monitored normal callback for events.
}
+#if defined(REMOVE_SYSTEMD_EVENT)
/**
* Monitored normal loop for waiting events.
* @param signum 0 on normal flow or the number
* 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;
fdev_epoll_wait_and_dispatch(fdev_epoll, -1);
}
}
+#endif
/**
* Main processing loop of threads processing jobs.
return result;
}
+#if defined(REMOVE_SYSTEMD_EVENT)
/**
* Gets the fdev_epoll item.
* @return a fdev_epoll or NULL in case of error
return result;
}
+#endif
/**
* Enter the jobs processing loop.
#pragma once
-struct fdev_epoll;
-struct sd_event;
struct jobloop;
extern int jobs_queue(
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(
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