diff options
author | Christian Hesse <mail@eworm.de> | 2017-01-05 16:45:01 +0100 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2017-01-05 16:45:01 +0100 |
commit | ed8b18dbe85d4d1915101d2ee5a0e9c0263f1971 (patch) | |
tree | 64735a8e526a4d0b4013240063aa0255ccfd8b11 | |
parent | 6cf832b9b4407bac42c9233fa4b2d376ea10e777 (diff) | |
download | netlink-notify-ed8b18dbe85d4d1915101d2ee5a0e9c0263f1971.tar.gz netlink-notify-ed8b18dbe85d4d1915101d2ee5a0e9c0263f1971.tar.zst |
use systemd service manager notification
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | netlink-notify.c | 4 | ||||
-rw-r--r-- | netlink-notify.h | 5 | ||||
-rw-r--r-- | systemd/netlink-notify.service | 2 |
5 files changed, 15 insertions, 1 deletions
@@ -11,6 +11,10 @@ RM := rm # flags CFLAGS += -std=c11 -O2 -fPIC -Wall -Werror CFLAGS += $(shell pkg-config --cflags --libs libnotify) +CFLAGS_SYSTEMD := $(shell pkg-config --cflags --libs libsystemd 2>/dev/null) +ifneq ($(CFLAGS_SYSTEMD),) +CFLAGS += -DHAVE_SYSTEMD $(CFLAGS_SYSTEMD) +endif LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie # this is just a fallback in case you do not use git but downloaded @@ -31,6 +31,7 @@ Requirements To compile and run `netlink-notify` you need: +* [systemd](https://www.github.com/systemd/systemd) * [libnotify](http://library.gnome.org/devel/notification-spec/) * [linux](http://www.kernel.org/) * [markdown](http://daringfireball.net/projects/markdown/) (HTML documentation) diff --git a/netlink-notify.c b/netlink-notify.c index d529ed4..5d96afa 100644 --- a/netlink-notify.c +++ b/netlink-notify.c @@ -503,6 +503,10 @@ int main (int argc, char **argv) { signal(SIGINT, received_signal); signal(SIGTERM, received_signal); +#ifdef HAVE_SYSTEMD + sd_notify(0, "READY=1\nSTATUS=Waiting for netlink events..."); +#endif + while (doexit == 0) { if (read_event(nls) != EXIT_SUCCESS) { fprintf(stderr, "%s: read_event returned error.\n", program); diff --git a/netlink-notify.h b/netlink-notify.h index 9f1f6e8..eea7cb9 100644 --- a/netlink-notify.h +++ b/netlink-notify.h @@ -30,6 +30,11 @@ #include <netinet/in.h> #include <sys/socket.h> +/* systemd headers */ +#ifdef HAVE_SYSTEMD +#include <systemd/sd-daemon.h> +#endif + #include <libnotify/notify.h> #include "version.h" diff --git a/systemd/netlink-notify.service b/systemd/netlink-notify.service index 2db23c7..1aba5e3 100644 --- a/systemd/netlink-notify.service +++ b/systemd/netlink-notify.service @@ -2,7 +2,7 @@ Description=Netlink Notification [Service] -Type=simple +Type=notify ExecStart=/usr/bin/netlink-notify [Install] |