]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
8e274523 | 2 | |
22f4096c LP |
3 | #include <stdlib.h> |
4 | ||
d8fdc620 | 5 | #include "fd-util.h" |
07630cea | 6 | #include "log.h" |
d8fdc620 | 7 | #include "socket-util.h" |
8e274523 LP |
8 | |
9 | int main(int argc, char *argv[]) { | |
d8fdc620 LP |
10 | |
11 | static const union sockaddr_union sa = { | |
12 | .un.sun_family = AF_UNIX, | |
13 | .un.sun_path = "/run/systemd/cgroups-agent", | |
14 | }; | |
15 | ||
16 | _cleanup_close_ int fd = -1; | |
17 | ssize_t n; | |
18 | size_t l; | |
8e274523 LP |
19 | |
20 | if (argc != 2) { | |
21 | log_error("Incorrect number of arguments."); | |
d05f1cae | 22 | return EXIT_FAILURE; |
8e274523 LP |
23 | } |
24 | ||
6bf3c61c | 25 | log_setup_service(); |
3c661fad | 26 | |
d8fdc620 LP |
27 | fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0); |
28 | if (fd < 0) { | |
29 | log_debug_errno(errno, "Failed to allocate socket: %m"); | |
30 | return EXIT_FAILURE; | |
31 | } | |
32 | ||
33 | l = strlen(argv[1]); | |
34 | ||
fc2fffe7 | 35 | n = sendto(fd, argv[1], l, 0, &sa.sa, SOCKADDR_UN_LEN(sa.un)); |
d8fdc620 LP |
36 | if (n < 0) { |
37 | log_debug_errno(errno, "Failed to send cgroups agent message: %m"); | |
d05f1cae | 38 | return EXIT_FAILURE; |
8e274523 LP |
39 | } |
40 | ||
d8fdc620 LP |
41 | if ((size_t) n != l) { |
42 | log_debug("Datagram size mismatch"); | |
d05f1cae | 43 | return EXIT_FAILURE; |
51bc5d4b | 44 | } |
8e274523 | 45 | |
d05f1cae | 46 | return EXIT_SUCCESS; |
8e274523 | 47 | } |