Branch data Line data Source code
1 : : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : : 3 : : #include <unistd.h> 4 : : 5 : : #include "sd-daemon.h" 6 : : 7 : : #include "parse-util.h" 8 : : #include "strv.h" 9 : : #include "time-util.h" 10 : : 11 : 4 : int main(int argc, char *argv[]) { 12 : 4 : _cleanup_strv_free_ char **l = NULL; 13 : : int n, i; 14 : 4 : usec_t duration = USEC_PER_SEC / 10; 15 : : 16 [ - + ]: 4 : if (argc >= 2) { 17 : : unsigned x; 18 : : 19 [ # # ]: 0 : assert_se(safe_atou(argv[1], &x) >= 0); 20 : 0 : duration = x * USEC_PER_SEC; 21 : : } 22 : : 23 : 4 : n = sd_listen_fds_with_names(false, &l); 24 [ - + ]: 4 : if (n < 0) { 25 [ # # ]: 0 : log_error_errno(n, "Failed to get listening fds: %m"); 26 : 0 : return EXIT_FAILURE; 27 : : } 28 : : 29 [ - + ]: 4 : for (i = 0; i < n; i++) 30 [ # # ]: 0 : log_info("fd=%i name=%s\n", SD_LISTEN_FDS_START + i, l[i]); 31 : : 32 : 4 : sd_notify(0, 33 : : "STATUS=Starting up"); 34 : 4 : usleep(duration); 35 : : 36 : 4 : sd_notify(0, 37 : : "STATUS=Running\n" 38 : : "READY=1"); 39 : 4 : usleep(duration); 40 : : 41 : 4 : sd_notify(0, 42 : : "STATUS=Reloading\n" 43 : : "RELOADING=1"); 44 : 4 : usleep(duration); 45 : : 46 : 4 : sd_notify(0, 47 : : "STATUS=Running\n" 48 : : "READY=1"); 49 : 4 : usleep(duration); 50 : : 51 : 4 : sd_notify(0, 52 : : "STATUS=Quitting\n" 53 : : "STOPPING=1"); 54 : 4 : usleep(duration); 55 : : 56 : 4 : return EXIT_SUCCESS; 57 : : }