#include "jobs.h"
#include "sig-monitor.h"
#include "verbose.h"
+
+#if defined(REMOVE_SYSTEMD_EVENT)
#include "fdev-epoll.h"
-#if 0
-#define _alert_ "do you really want to remove signal monitoring?"
-#define sig_monitor_init_timeouts() ((void)0)
-#define sig_monitor_clean_timeouts() ((void)0)
-#define sig_monitor(to,cb,arg) (cb(0,arg))
#endif
#define EVENT_TIMEOUT_TOP ((uint64_t)-1)
/* 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 = malloc(sizeof *job);
pthread_mutex_lock(&mutex);
if (!job) {
- errno = -ENOMEM;
+ errno = ENOMEM;
goto end;
}
}
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.
rc = sd_event_prepare(se);
if (rc < 0) {
errno = -rc;
- ERROR("sd_event_prepare returned an error (state: %d): %m", sd_event_get_state(se));
+ CRITICAL("sd_event_prepare returned an error (state: %d): %m", sd_event_get_state(se));
+ abort();
} else {
if (rc == 0) {
rc = sd_event_wait(se, (uint64_t)(int64_t)-1);
}
+#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.
goto error;
}
- /* start */
- if (sig_monitor_init() < 0) {
- ERROR("failed to initialise signal handlers");
- goto error;
- }
-
/* records the allowed count */
allowed = allowed_count;
started = 0;