chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add --with-telinit=PATH configure option
[elogind.git]
/
src
/
systemctl
/
systemctl.c
diff --git
a/src/systemctl/systemctl.c
b/src/systemctl/systemctl.c
index 5902a3798df7e7d7583ded65ce6b992266a93d36..edd136addddf9bd10dbdfe8ab29c3f568c71f5a0 100644
(file)
--- a/
src/systemctl/systemctl.c
+++ b/
src/systemctl/systemctl.c
@@
-2053,7
+2053,7
@@
static int set_cgroup_attr(DBusConnection *bus, char **args) {
}
static int get_cgroup_attr(DBusConnection *bus, char **args) {
}
static int get_cgroup_attr(DBusConnection *bus, char **args) {
- _cleanup_dbus_message_unref_ DBusMessage *
m = NULL, *
reply = NULL;
+ _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
_cleanup_free_ char *n = NULL;
char **argument;
int r;
_cleanup_free_ char *n = NULL;
char **argument;
int r;
@@
-4918,7
+4918,7
@@
static int parse_argv(int argc, char *argv[]) {
* request to it. For now we simply
* guess that it is Upstart. */
* request to it. For now we simply
* guess that it is Upstart. */
- execv(
"/lib/upstart/telinit"
, argv);
+ execv(
TELINIT
, argv);
log_error("Couldn't find an alternative telinit implementation to spawn.");
return -EIO;
log_error("Couldn't find an alternative telinit implementation to spawn.");
return -EIO;
@@
-5041,21
+5041,22
@@
finish:
}
static int talk_initctl(void) {
}
static int talk_initctl(void) {
- struct init_request request;
- int r, fd;
+ struct init_request request = {0};
+ int r;
+ int _cleanup_close_ fd = -1;
char rl;
char rl;
- if (!(rl = action_to_runlevel()))
+ rl = action_to_runlevel();
+ if (!rl)
return 0;
return 0;
- zero(request);
request.magic = INIT_MAGIC;
request.sleeptime = 0;
request.cmd = INIT_CMD_RUNLVL;
request.runlevel = rl;
request.magic = INIT_MAGIC;
request.sleeptime = 0;
request.cmd = INIT_CMD_RUNLVL;
request.runlevel = rl;
- if ((fd = open(INIT_FIFO, O_WRONLY|O_NDELAY|O_CLOEXEC|O_NOCTTY)) < 0) {
-
+ fd = open(INIT_FIFO, O_WRONLY|O_NDELAY|O_CLOEXEC|O_NOCTTY);
+ if (fd < 0) {
if (errno == ENOENT)
return 0;
if (errno == ENOENT)
return 0;
@@
-5065,9
+5066,7
@@
static int talk_initctl(void) {
errno = 0;
r = loop_write(fd, &request, sizeof(request), false) != sizeof(request);
errno = 0;
r = loop_write(fd, &request, sizeof(request), false) != sizeof(request);
- close_nointr_nofail(fd);
-
- if (r < 0) {
+ if (r) {
log_error("Failed to write to "INIT_FIFO": %m");
return errno ? -errno : -EIO;
}
log_error("Failed to write to "INIT_FIFO": %m");
return errno ? -errno : -EIO;
}