mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 09:21:26 +03:00
hostnamed: use DEFINE_MAIN_FUNCTION() macro
This also renames context_free() to context_clear().
This commit is contained in:
parent
77182cc65e
commit
85ae63ee87
@ -13,6 +13,7 @@
|
||||
#include "fileio-label.h"
|
||||
#include "hostname-util.h"
|
||||
#include "id128-util.h"
|
||||
#include "main-func.h"
|
||||
#include "os-util.h"
|
||||
#include "parse-util.h"
|
||||
#include "path-util.h"
|
||||
@ -58,7 +59,7 @@ static void context_reset(Context *c) {
|
||||
c->data[p] = mfree(c->data[p]);
|
||||
}
|
||||
|
||||
static void context_free(Context *c) {
|
||||
static void context_clear(Context *c) {
|
||||
assert(c);
|
||||
|
||||
context_reset(c);
|
||||
@ -701,8 +702,8 @@ static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
Context context = {};
|
||||
static int run(int argc, char *argv[]) {
|
||||
_cleanup_(context_clear) Context context = {};
|
||||
_cleanup_(sd_event_unrefp) sd_event *event = NULL;
|
||||
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
|
||||
int r;
|
||||
@ -714,50 +715,38 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
if (argc != 1) {
|
||||
log_error("This program takes no arguments.");
|
||||
r = -EINVAL;
|
||||
goto finish;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
|
||||
|
||||
r = sd_event_default(&event);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to allocate event loop: %m");
|
||||
goto finish;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to allocate event loop: %m");
|
||||
|
||||
(void) sd_event_set_watchdog(event, true);
|
||||
|
||||
r = sd_event_add_signal(event, NULL, SIGINT, NULL, NULL);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to install SIGINT handler: %m");
|
||||
goto finish;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to install SIGINT handler: %m");
|
||||
|
||||
r = sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to install SIGTERM handler: %m");
|
||||
goto finish;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to install SIGTERM handler: %m");
|
||||
|
||||
r = connect_bus(&context, event, &bus);
|
||||
if (r < 0)
|
||||
goto finish;
|
||||
return r;
|
||||
|
||||
r = context_read_data(&context);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to read hostname and machine information: %m");
|
||||
goto finish;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to read hostname and machine information: %m");
|
||||
|
||||
r = bus_event_loop_with_idle(event, bus, "org.freedesktop.hostname1", DEFAULT_EXIT_USEC, NULL, NULL);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to run event loop: %m");
|
||||
goto finish;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to run event loop: %m");
|
||||
|
||||
finish:
|
||||
context_free(&context);
|
||||
|
||||
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEFINE_MAIN_FUNCTION(run);
|
||||
|
Loading…
Reference in New Issue
Block a user