[systemd-commits] 2 commits - man/systemctl.xml src/dbus-job.c src/dbus-unit.c src/systemctl.c
Lennart Poettering
lennart at kemper.freedesktop.org
Sat Jul 10 19:00:11 PDT 2010
man/systemctl.xml | 12 ++++++------
src/dbus-job.c | 7 ++++---
src/dbus-unit.c | 7 ++++---
src/systemctl.c | 16 ++++++++--------
4 files changed, 22 insertions(+), 20 deletions(-)
New commits:
commit c0bd0cf7ff0abdc8b51d58fbd7819ec54917be30
Author: Lennart Poettering <lennart at poettering.net>
Date: Sun Jul 11 03:59:49 2010 +0200
dbus: don't hit an assert if we sent a changed signal for something not in the dbus queue (i.e. because it was deleted before it was fully created
diff --git a/src/dbus-job.c b/src/dbus-job.c
index 653e11d..4572589 100644
--- a/src/dbus-job.c
+++ b/src/dbus-job.c
@@ -172,10 +172,11 @@ void bus_job_send_change_signal(Job *j) {
DBusMessage *m = NULL;
assert(j);
- assert(j->in_dbus_queue);
- LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j);
- j->in_dbus_queue = false;
+ if (j->in_dbus_queue) {
+ LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j);
+ j->in_dbus_queue = false;
+ }
if (!bus_has_subscriber(j->manager) && !j->bus_client) {
j->sent_dbus_new_signal = true;
diff --git a/src/dbus-unit.c b/src/dbus-unit.c
index ad0c193..735e5a5 100644
--- a/src/dbus-unit.c
+++ b/src/dbus-unit.c
@@ -371,10 +371,11 @@ void bus_unit_send_change_signal(Unit *u) {
DBusMessage *m = NULL;
assert(u);
- assert(u->meta.in_dbus_queue);
- LIST_REMOVE(Meta, dbus_queue, u->meta.manager->dbus_unit_queue, &u->meta);
- u->meta.in_dbus_queue = false;
+ if (u->meta.in_dbus_queue) {
+ LIST_REMOVE(Meta, dbus_queue, u->meta.manager->dbus_unit_queue, &u->meta);
+ u->meta.in_dbus_queue = false;
+ }
if (!bus_has_subscriber(u->meta.manager)) {
u->meta.sent_dbus_new_signal = true;
commit 90d473a1c05c692d0beaac3ff939b01f930fcada
Author: Lennart Poettering <lennart at poettering.net>
Date: Sun Jul 11 03:59:18 2010 +0200
systemctl: turn --replace into --fail
diff --git a/man/systemctl.xml b/man/systemctl.xml
index a7065f9..f0de186 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -116,15 +116,15 @@
</varlistentry>
<varlistentry>
- <term><option>--replace</option></term>
+ <term><option>--fail</option></term>
<listitem><para>If the requested
operation conflicts with an existing
- unfinished operation, replace the
- existing operation by the requested
- operation. If this is not specified
- the requested operation will
- fail.</para></listitem>
+ unfinished operation, fail the
+ command. If this is not specified the
+ requested operation will replace the
+ pending job if
+ necessary.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/src/systemctl.c b/src/systemctl.c
index 05e6ac9..d033a75 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -49,7 +49,7 @@
static const char *arg_type = NULL;
static const char *arg_property = NULL;
static bool arg_all = false;
-static bool arg_replace = false;
+static bool arg_fail = false;
static bool arg_session = false;
static bool arg_no_block = false;
static bool arg_immediate = false;
@@ -742,8 +742,8 @@ static int start_unit(DBusConnection *bus, char **args, unsigned n) {
(streq(args[0], "isolate") ||
streq(args[0], "rescue") ||
streq(args[0], "emergency")) ? "isolate" :
- arg_replace ? "replace" :
- "fail";
+ arg_fail ? "fail" :
+ "replace";
one_name = table[verb_to_action(args[0])];
@@ -2490,7 +2490,7 @@ static int systemctl_help(void) {
" -t --type=TYPE List only units of a particular type\n"
" -p --property=NAME Show only properties by this name\n"
" -a --all Show all units/properties, including dead/empty ones\n"
- " --replace When installing a new job, replace existing conflicting ones\n"
+ " --fail When installing a new job, fail if conflicting jobs are pending\n"
" --system Connect to system bus\n"
" --session Connect to session bus\n"
" -q --quiet Suppress output\n"
@@ -2599,7 +2599,7 @@ static int runlevel_help(void) {
static int systemctl_parse_argv(int argc, char *argv[]) {
enum {
- ARG_REPLACE = 0x100,
+ ARG_FAIL = 0x100,
ARG_SESSION,
ARG_SYSTEM,
ARG_NO_BLOCK,
@@ -2611,7 +2611,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
{ "type", required_argument, NULL, 't' },
{ "property", required_argument, NULL, 'p' },
{ "all", no_argument, NULL, 'a' },
- { "replace", no_argument, NULL, ARG_REPLACE },
+ { "fail", no_argument, NULL, ARG_FAIL },
{ "session", no_argument, NULL, ARG_SESSION },
{ "system", no_argument, NULL, ARG_SYSTEM },
{ "no-block", no_argument, NULL, ARG_NO_BLOCK },
@@ -2650,8 +2650,8 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
arg_all = true;
break;
- case ARG_REPLACE:
- arg_replace = true;
+ case ARG_FAIL:
+ arg_fail = true;
break;
case ARG_SESSION:
More information about the systemd-commits
mailing list