Skip to content
Snippets Groups Projects
Commit 1090af19 authored by Daniel Salzman's avatar Daniel Salzman
Browse files

fixup! knotd: finaliza D-Bus events

parent c4fb7f37
No related branches found
No related tags found
No related merge requests found
Pipeline #93594 passed
......@@ -277,7 +277,11 @@ AS_IF([test "$enable_systemd" != "no"],[
])
AS_IF([test "$enable_systemd" = "yes"],[
AC_DEFINE([ENABLE_SYSTEMD], [1], [Use systemd integration.])])
AC_DEFINE([ENABLE_SYSTEMD], [1], [Use systemd integration.])
AC_CHECK_HEADER([systemd/sd-bus.h],
[AC_DEFINE([ENABLE_DBUS], [1], [systemd D-Bus available])],
[enable_systemd="yes (without D-Bus)"])
])
]) dnl enable_daemon
......
......@@ -22,13 +22,10 @@
#include "contrib/strtonum.h"
#ifdef ENABLE_SYSTEMD
#include <systemd/sd-bus.h>
#include <systemd/sd-daemon.h>
#define ZONE_LOAD_TIMEOUT_DEFAULT 60
static sd_bus *_dbus = NULL;
static int zone_load_timeout_s;
static int systemd_zone_load_timeout(void)
......@@ -45,6 +42,12 @@ static int systemd_zone_load_timeout(void)
}
#endif
#ifdef ENABLE_DBUS
#include <systemd/sd-bus.h>
static sd_bus *_dbus = NULL;
#endif
void systemd_zone_load_timeout_notify(void)
{
#ifdef ENABLE_SYSTEMD
......@@ -89,7 +92,7 @@ void systemd_stopping_notify(void)
int systemd_dbus_open(void)
{
#ifdef ENABLE_SYSTEMD
#ifdef ENABLE_DBUS
if (_dbus != NULL) {
return KNOT_EOK;
}
......@@ -105,13 +108,16 @@ int systemd_dbus_open(void)
systemd_dbus_close();
return -ret;
}
#endif
return KNOT_EOK;
#else
return KNOT_ENOTSUP;
#endif
}
void systemd_dbus_close(void)
{
#ifdef ENABLE_SYSTEMD
#ifdef ENABLE_DBUS
_dbus = sd_bus_unref(_dbus);
#endif
}
......@@ -122,14 +128,14 @@ void systemd_dbus_close(void)
void systemd_emit_running(bool up)
{
#ifdef ENABLE_SYSTEMD
#ifdef ENABLE_DBUS
emit_event(up ? KNOT_BUS_EVENT_STARTED : KNOT_BUS_EVENT_STOPPED, "");
#endif
}
void systemd_emit_zone_updated(const knot_dname_t *zone_name, uint32_t serial)
{
#ifdef ENABLE_SYSTEMD
#ifdef ENABLE_DBUS
knot_dname_txt_storage_t buff;
char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
if (zone_str != NULL) {
......@@ -140,7 +146,7 @@ void systemd_emit_zone_updated(const knot_dname_t *zone_name, uint32_t serial)
void systemd_emit_zone_submission(const knot_dname_t *zone_name, uint16_t keytag)
{
#ifdef ENABLE_SYSTEMD
#ifdef ENABLE_DBUS
knot_dname_txt_storage_t buff;
char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
if (zone_str != NULL) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment