From: Zbigniew Jędrzejewski-Szmek Date: Sat, 9 Dec 2017 10:53:17 +0000 (+0100) Subject: logind: move two functions to logind_core utility lib X-Git-Tag: v239~347^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae98d374d1e1aac325d583575e58097b1137507e;p=thirdparty%2Fsystemd.git logind: move two functions to logind_core utility lib In preparation to reusing them later in other places... --- diff --git a/src/login/logind-core.c b/src/login/logind-core.c index 7f429aae416..64ec9ca790c 100644 --- a/src/login/logind-core.c +++ b/src/login/logind-core.c @@ -15,6 +15,7 @@ #include "bus-error.h" #include "bus-util.h" #include "cgroup-util.h" +#include "conf-parser.h" #include "fd-util.h" #include "logind.h" #include "parse-util.h" @@ -24,6 +25,48 @@ #include "udev-util.h" #include "user-util.h" +void manager_reset_config(Manager *m) { + m->n_autovts = 6; + m->reserve_vt = 6; + m->remove_ipc = true; + m->inhibit_delay_max = 5 * USEC_PER_SEC; + m->handle_power_key = HANDLE_POWEROFF; + m->handle_suspend_key = HANDLE_SUSPEND; + m->handle_hibernate_key = HANDLE_HIBERNATE; + m->handle_lid_switch = HANDLE_SUSPEND; + m->handle_lid_switch_ep = _HANDLE_ACTION_INVALID; + m->handle_lid_switch_docked = HANDLE_IGNORE; + m->power_key_ignore_inhibited = false; + m->suspend_key_ignore_inhibited = false; + m->hibernate_key_ignore_inhibited = false; + m->lid_switch_ignore_inhibited = true; + + m->holdoff_timeout_usec = 30 * USEC_PER_SEC; + + m->idle_action_usec = 30 * USEC_PER_MINUTE; + m->idle_action = HANDLE_IGNORE; + + m->runtime_dir_size = physical_memory_scale(10U, 100U); /* 10% */ + m->user_tasks_max = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); /* 33% */ + m->sessions_max = 8192; + m->inhibitors_max = 8192; + + m->kill_user_processes = KILL_USER_PROCESSES; + + m->kill_only_users = strv_free(m->kill_only_users); + m->kill_exclude_users = strv_free(m->kill_exclude_users); +} + +int manager_parse_config_file(Manager *m) { + assert(m); + + return config_parse_many_nulstr(PKGSYSCONFDIR "/logind.conf", + CONF_PATHS_NULSTR("systemd/logind.conf.d"), + "Login\0", + config_item_perf_lookup, logind_gperf_lookup, + CONFIG_PARSE_WARN, m); +} + int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device) { Device *d; diff --git a/src/login/logind.c b/src/login/logind.c index 6bddcb541fc..6ad6a695bc0 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -33,38 +33,6 @@ static void manager_free(Manager *m); -static void manager_reset_config(Manager *m) { - m->n_autovts = 6; - m->reserve_vt = 6; - m->remove_ipc = true; - m->inhibit_delay_max = 5 * USEC_PER_SEC; - m->handle_power_key = HANDLE_POWEROFF; - m->handle_suspend_key = HANDLE_SUSPEND; - m->handle_hibernate_key = HANDLE_HIBERNATE; - m->handle_lid_switch = HANDLE_SUSPEND; - m->handle_lid_switch_ep = _HANDLE_ACTION_INVALID; - m->handle_lid_switch_docked = HANDLE_IGNORE; - m->power_key_ignore_inhibited = false; - m->suspend_key_ignore_inhibited = false; - m->hibernate_key_ignore_inhibited = false; - m->lid_switch_ignore_inhibited = true; - - m->holdoff_timeout_usec = 30 * USEC_PER_SEC; - - m->idle_action_usec = 30 * USEC_PER_MINUTE; - m->idle_action = HANDLE_IGNORE; - - m->runtime_dir_size = physical_memory_scale(10U, 100U); /* 10% */ - m->user_tasks_max = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); /* 33% */ - m->sessions_max = 8192; - m->inhibitors_max = 8192; - - m->kill_user_processes = KILL_USER_PROCESSES; - - m->kill_only_users = strv_free(m->kill_only_users); - m->kill_exclude_users = strv_free(m->kill_exclude_users); -} - static Manager *manager_new(void) { Manager *m; int r; @@ -1091,16 +1059,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us return 0; } -static int manager_parse_config_file(Manager *m) { - assert(m); - - return config_parse_many_nulstr(PKGSYSCONFDIR "/logind.conf", - CONF_PATHS_NULSTR("systemd/logind.conf.d"), - "Login\0", - config_item_perf_lookup, logind_gperf_lookup, - CONFIG_PARSE_WARN, m); -} - static int manager_dispatch_reload_signal(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata) { Manager *m = userdata; int r; diff --git a/src/login/logind.h b/src/login/logind.h index 5574fcd5919..be2963c256d 100644 --- a/src/login/logind.h +++ b/src/login/logind.h @@ -126,6 +126,9 @@ struct Manager { uint64_t inhibitors_max; }; +void manager_reset_config(Manager *m); +int manager_parse_config_file(Manager *m); + int manager_add_device(Manager *m, const char *sysfs, bool master, Device **_device); int manager_add_button(Manager *m, const char *name, Button **_button); int manager_add_seat(Manager *m, const char *id, Seat **_seat); diff --git a/src/login/meson.build b/src/login/meson.build index 94c9cc52933..a616d5b934d 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -13,9 +13,6 @@ logind_gperf_c = custom_target( output : 'logind-gperf.c', command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) -systemd_logind_sources += [logind_gperf_c] - - liblogind_core_sources = files(''' logind-core.c logind-device.c @@ -42,6 +39,8 @@ liblogind_core_sources = files(''' logind-acl.h '''.split()) +liblogind_core_sources += [logind_gperf_c] + logind_acl_c = files('logind-acl.c') if conf.get('HAVE_ACL') == 1 liblogind_core_sources += logind_acl_c