chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6ee69ba
)
machined: simplifications
author
Lennart Poettering
<lennart@poettering.net>
Mon, 4 Nov 2013 23:52:46 +0000
(
00:52
+0100)
committer
Lennart Poettering
<lennart@poettering.net>
Tue, 5 Nov 2013 00:13:05 +0000
(
01:13
+0100)
src/machine/machine-dbus.c
patch
|
blob
|
history
src/machine/machine.c
patch
|
blob
|
history
src/machine/machine.h
patch
|
blob
|
history
src/machine/machined-dbus.c
patch
|
blob
|
history
src/machine/machined.c
patch
|
blob
|
history
src/machine/machined.h
patch
|
blob
|
history
diff --git
a/src/machine/machine-dbus.c
b/src/machine/machine-dbus.c
index 150a3f7761bb8c09395b9724c9c3d31cec1aeb5f..ddd6b4b10ebc16799b05b3d6e8c6f1b8fc34ca31 100644
(file)
--- a/
src/machine/machine-dbus.c
+++ b/
src/machine/machine-dbus.c
@@
-210,13
+210,13
@@
int machine_send_create_reply(Machine *m, sd_bus_error *error) {
c = m->create_message;
m->create_message = NULL;
c = m->create_message;
m->create_message = NULL;
+ if (error)
+ return sd_bus_reply_method_error(m->manager->bus, c, error);
+
/* Update the machine state file before we notify the client
* about the result. */
machine_save(m);
/* Update the machine state file before we notify the client
* about the result. */
machine_save(m);
- if (error)
- return sd_bus_reply_method_error(m->manager->bus, c, error);
-
p = machine_bus_path(m);
if (!p)
return -ENOMEM;
p = machine_bus_path(m);
if (!p)
return -ENOMEM;
diff --git
a/src/machine/machine.c
b/src/machine/machine.c
index be669f02dcf59dcb6258ba6d858660936ec9d3ac..a33a111043c586b81c1eb9edd0149d16ae35a96a 100644
(file)
--- a/
src/machine/machine.c
+++ b/
src/machine/machine.c
@@
-338,7
+338,7
@@
int machine_stop(Machine *m) {
return r;
}
return r;
}
-
int
machine_check_gc(Machine *m, bool drop_not_started) {
+
bool
machine_check_gc(Machine *m, bool drop_not_started) {
assert(m);
if (drop_not_started && !m->started)
assert(m);
if (drop_not_started && !m->started)
diff --git
a/src/machine/machine.h
b/src/machine/machine.h
index bfb28d1e8e6763597f7072cecd19a403d6572af3..99ee25888e70aab82133696ca518fff6430de325 100644
(file)
--- a/
src/machine/machine.h
+++ b/
src/machine/machine.h
@@
-80,7
+80,7
@@
struct Machine {
Machine* machine_new(Manager *manager, const char *name);
void machine_free(Machine *m);
Machine* machine_new(Manager *manager, const char *name);
void machine_free(Machine *m);
-
int
machine_check_gc(Machine *m, bool drop_not_started);
+
bool
machine_check_gc(Machine *m, bool drop_not_started);
void machine_add_to_gc_queue(Machine *m);
int machine_start(Machine *m, sd_bus_message *properties, sd_bus_error *error);
int machine_stop(Machine *m);
void machine_add_to_gc_queue(Machine *m);
int machine_start(Machine *m, sd_bus_message *properties, sd_bus_error *error);
int machine_stop(Machine *m);
diff --git
a/src/machine/machined-dbus.c
b/src/machine/machined-dbus.c
index 6035597913ec6dc0295e80da8a58a48fe7a5a1f6..b55266249bf322d2f3a70bcf1d57a3359d9398d7 100644
(file)
--- a/
src/machine/machined-dbus.c
+++ b/
src/machine/machined-dbus.c
@@
-335,9
+335,9
@@
const sd_bus_vtable manager_vtable[] = {
};
int machine_node_enumerator(sd_bus *bus, const char *path, char ***nodes, void *userdata) {
};
int machine_node_enumerator(sd_bus *bus, const char *path, char ***nodes, void *userdata) {
+ _cleanup_strv_free_ char **l = NULL;
Machine *machine = NULL;
Manager *m = userdata;
Machine *machine = NULL;
Manager *m = userdata;
- char **l = NULL;
Iterator i;
int r;
Iterator i;
int r;
@@
-360,6
+360,8
@@
int machine_node_enumerator(sd_bus *bus, const char *path, char ***nodes, void *
}
*nodes = l;
}
*nodes = l;
+ l = NULL;
+
return 1;
}
return 1;
}
@@
-456,6
+458,8
@@
int match_unit_removed(sd_bus *bus, sd_bus_message *message, void *userdata) {
int match_reloading(sd_bus *bus, sd_bus_message *message, void *userdata) {
Manager *m = userdata;
int match_reloading(sd_bus *bus, sd_bus_message *message, void *userdata) {
Manager *m = userdata;
+ Machine *machine;
+ Iterator i;
int b, r;
assert(bus);
int b, r;
assert(bus);
@@
-466,16
+470,14
@@
int match_reloading(sd_bus *bus, sd_bus_message *message, void *userdata) {
return 0;
}
return 0;
}
- /* systemd finished reloading, let's recheck all our machines */
- if (!b) {
- Machine *machine;
- Iterator i;
+ if (b)
+ return 0;
- log_debug("System manager has been reloaded, rechecking machines...");
+ /* systemd finished reloading, let's recheck all our machines */
+ log_debug("System manager has been reloaded, rechecking machines...");
- HASHMAP_FOREACH(machine, m->machines, i)
- machine_add_to_gc_queue(machine);
- }
+ HASHMAP_FOREACH(machine, m->machines, i)
+ machine_add_to_gc_queue(machine);
return 0;
}
return 0;
}
@@
-507,7
+509,7
@@
int manager_start_scope(
if (r < 0)
return r;
if (r < 0)
return r;
- r = sd_bus_message_append(m, "ss", s
cope
, "fail");
+ r = sd_bus_message_append(m, "ss", s
trempty(scope)
, "fail");
if (r < 0)
return r;
if (r < 0)
return r;
@@
-620,23
+622,18
@@
int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c
}
int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error) {
}
int manager_kill_unit(Manager *manager, const char *unit, KillWho who, int signo, sd_bus_error *error) {
- _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
- int r;
-
assert(manager);
assert(unit);
assert(manager);
assert(unit);
- r
=
sd_bus_call_method(
+ r
eturn
sd_bus_call_method(
manager->bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
"KillUnit",
error,
manager->bus,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
"KillUnit",
error,
-
&reply
,
+
NULL
,
"ssi", unit, who == KILL_LEADER ? "main" : "all", signo);
"ssi", unit, who == KILL_LEADER ? "main" : "all", signo);
-
- return r;
}
int manager_unit_is_active(Manager *manager, const char *unit) {
}
int manager_unit_is_active(Manager *manager, const char *unit) {
diff --git
a/src/machine/machined.c
b/src/machine/machined.c
index 63915519c11cf0044f377806852098966fafc3f6..25de0d5d4669ba6feb8c485ebc1e9cdb6351c08b 100644
(file)
--- a/
src/machine/machined.c
+++ b/
src/machine/machined.c
@@
-47,13
+47,13
@@
Manager *manager_new(void) {
m->machines = hashmap_new(string_hash_func, string_compare_func);
m->machine_units = hashmap_new(string_hash_func, string_compare_func);
m->machines = hashmap_new(string_hash_func, string_compare_func);
m->machine_units = hashmap_new(string_hash_func, string_compare_func);
- r = sd_event_new(&m->event);
- if (r < 0) {
+ if (!m->machines || !m->machine_units) {
manager_free(m);
return NULL;
}
manager_free(m);
return NULL;
}
- if (!m->machines || !m->machine_units) {
+ r = sd_event_new(&m->event);
+ if (r < 0) {
manager_free(m);
return NULL;
}
manager_free(m);
return NULL;
}
@@
-284,7
+284,7
@@
void manager_gc(Manager *m, bool drop_not_started) {
LIST_REMOVE(gc_queue, m->machine_gc_queue, machine);
machine->in_gc_queue = false;
LIST_REMOVE(gc_queue, m->machine_gc_queue, machine);
machine->in_gc_queue = false;
- if (
machine_check_gc(machine, drop_not_started) == 0
) {
+ if (
!machine_check_gc(machine, drop_not_started)
) {
machine_stop(machine);
machine_free(machine);
}
machine_stop(machine);
machine_free(machine);
}
diff --git
a/src/machine/machined.h
b/src/machine/machined.h
index c47a4688302294eac9b88f62ddf589090d6353a5..dfb63bd7f16e1a47403458df838697b12c6f3592 100644
(file)
--- a/
src/machine/machined.h
+++ b/
src/machine/machined.h
@@
-48,7
+48,6
@@
Manager *manager_new(void);
void manager_free(Manager *m);
int manager_add_machine(Manager *m, const char *name, Machine **_machine);
void manager_free(Manager *m);
int manager_add_machine(Manager *m, const char *name, Machine **_machine);
-
int manager_enumerate_machines(Manager *m);
int manager_startup(Manager *m);
int manager_enumerate_machines(Manager *m);
int manager_startup(Manager *m);