diff --git a/src/service/daemonctl.hpp b/src/service/daemonctl.hpp index 7f567653cf79d594c0841c3edcceb29cb351eae2..b32847aca155f69bbc897111650d07185214cd0c 100644 --- a/src/service/daemonctl.hpp +++ b/src/service/daemonctl.hpp @@ -5,6 +5,9 @@ ATTR_NONNULL_ALL void dctl_status_msg(const char* msg); +ATTR_NONNULL_ALL +void dctl_status_err(const char *msg); + void dctl_status_ready(); void dctl_status_reload(); void dctl_status_shutdown(); diff --git a/src/service/daemonctl_rcd.cpp b/src/service/daemonctl_rcd.cpp index 84bf39e341d4cbda184c9d062d6e5e7af345f2c1..ca170b90d8aae81e06f63cc872fbaedfa14b9da8 100644 --- a/src/service/daemonctl_rcd.cpp +++ b/src/service/daemonctl_rcd.cpp @@ -7,6 +7,11 @@ void dctl_status_msg(const char* msg) { (void)msg; } +ATTR_WEAK +void dctl_status_err(const char *msg) { + (void)msg; +} + ATTR_WEAK void dctl_status_ready() { diff --git a/src/service/daemonctl_systemd.cpp b/src/service/daemonctl_systemd.cpp index c9e4920e4837050b2d5e34321c9a49578f763050..e399dde45a9e859ae3f26347625442285df125a8 100644 --- a/src/service/daemonctl_systemd.cpp +++ b/src/service/daemonctl_systemd.cpp @@ -12,6 +12,12 @@ void dctl_status_msg(const char* msg) { std::cout << SD_INFO << "STATUS=" << msg << std::endl; } +ATTR_NONNULL_ALL +void dctl_status_err(const char *msg) { + sd_notifyf(0, "STATUS=%s", msg); + std::cerr << SD_ERR << "STATUS=" << msg << std::endl; +} + void dctl_status_ready() { sd_notify(0, "READY=1"); }