/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include #include "sd-daemon.h" #include "parse-util.h" #include "strv.h" #include "time-util.h" int main(int argc, char *argv[]) { _cleanup_strv_free_ char **l = NULL; int n, i; usec_t duration = USEC_PER_SEC / 10; if (argc >= 2) { unsigned x; assert_se(safe_atou(argv[1], &x) >= 0); duration = x * USEC_PER_SEC; } n = sd_listen_fds_with_names(false, &l); if (n < 0) { log_error_errno(n, "Failed to get listening fds: %m"); return EXIT_FAILURE; } for (i = 0; i < n; i++) log_info("fd=%i name=%s\n", SD_LISTEN_FDS_START + i, l[i]); sd_notify(0, "STATUS=Starting up"); usleep(duration); sd_notify(0, "STATUS=Running\n" "READY=1"); usleep(duration); sd_notify(0, "STATUS=Reloading\n" "RELOADING=1"); usleep(duration); sd_notify(0, "STATUS=Running\n" "READY=1"); usleep(duration); sd_notify(0, "STATUS=Quitting\n" "STOPPING=1"); usleep(duration); return EXIT_SUCCESS; }