cage/notify_systemd.c
Jonathan GUILLOT a500d11f0f Add optional feature to notify status to systemd
When enabled, the feature uses libsystemd to notify service manager
about the following states:
- ready
- periodic alive ping (20s)
- stopping

It allows to use Cage in a systemd unit with following options:
Type=notify
WatchdogSec=30s
2025-09-10 22:49:09 +02:00

33 lines
490 B
C

/*
* Cage: A Wayland kiosk.
*
* Copyright (C) 2018-2020 Jente Hidskes
*
* See the LICENSE file accompanying this file.
*/
#include "config.h"
#include <systemd/sd-daemon.h>
#include "notify.h"
void
notify_set_state(enum cg_notify_state state)
{
const char *sd_state;
switch (state) {
case CAGE_READY:
sd_state = "READY=1";
break;
case CAGE_ALIVE:
sd_state = "WATCHDOG=1";
break;
case CAGE_STOPPING:
sd_state = "STOPPING=1";
break;
}
sd_notify(0, sd_state);
}