chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-bus: move packet header definition to bus-protocol.h
[elogind.git]
/
src
/
run
/
run.c
diff --git
a/src/run/run.c
b/src/run/run.c
index e3b62939c7328e0b6f68f8cbeaea6b6994205bfe..85eb052343a5d73b2d8d2958aa12aa83bb7fc13d 100644
(file)
--- a/
src/run/run.c
+++ b/
src/run/run.c
@@
-488,25
+488,19
@@
static int start_transient_scope(
return bus_log_create_error(r);
if (arg_nice_set) {
return bus_log_create_error(r);
if (arg_nice_set) {
- if (setpriority(PRIO_PROCESS, 0, arg_nice) < 0) {
- log_error("Failed to set nice level: %m");
- return -errno;
- }
+ if (setpriority(PRIO_PROCESS, 0, arg_nice) < 0)
+ return log_error_errno(errno, "Failed to set nice level: %m");
}
if (arg_exec_group) {
gid_t gid;
r = get_group_creds(&arg_exec_group, &gid);
}
if (arg_exec_group) {
gid_t gid;
r = get_group_creds(&arg_exec_group, &gid);
- if (r < 0) {
- log_error("Failed to resolve group %s: %s", arg_exec_group, strerror(-r));
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to resolve group %s: %m", arg_exec_group);
- if (setresgid(gid, gid, gid) < 0) {
- log_error("Failed to change GID to " GID_FMT ": %m", gid);
- return -errno;
- }
+ if (setresgid(gid, gid, gid) < 0)
+ return log_error_errno(errno, "Failed to change GID to " GID_FMT ": %m", gid);
}
if (arg_exec_user) {
}
if (arg_exec_user) {
@@
-515,10
+509,8
@@
static int start_transient_scope(
gid_t gid;
r = get_user_creds(&arg_exec_user, &uid, &gid, &home, &shell);
gid_t gid;
r = get_user_creds(&arg_exec_user, &uid, &gid, &home, &shell);
- if (r < 0) {
- log_error("Failed to resolve user %s: %s", arg_exec_user, strerror(-r));
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to resolve user %s: %m", arg_exec_user);
r = strv_extendf(&user_env, "HOME=%s", home);
if (r < 0)
r = strv_extendf(&user_env, "HOME=%s", home);
if (r < 0)
@@
-537,16
+529,12
@@
static int start_transient_scope(
return log_oom();
if (!arg_exec_group) {
return log_oom();
if (!arg_exec_group) {
- if (setresgid(gid, gid, gid) < 0) {
- log_error("Failed to change GID to " GID_FMT ": %m", gid);
- return -errno;
- }
+ if (setresgid(gid, gid, gid) < 0)
+ return log_error_errno(errno, "Failed to change GID to " GID_FMT ": %m", gid);
}
}
- if (setresuid(uid, uid, uid) < 0) {
- log_error("Failed to change UID to " UID_FMT ": %m", uid);
- return -errno;
- }
+ if (setresuid(uid, uid, uid) < 0)
+ return log_error_errno(errno, "Failed to change UID to " UID_FMT ": %m", uid);
}
env = strv_env_merge(3, environ, user_env, arg_environment);
}
env = strv_env_merge(3, environ, user_env, arg_environment);
@@
-556,7
+544,7
@@
static int start_transient_scope(
log_info("Running as unit %s.", name);
execvpe(argv[0], argv, env);
log_info("Running as unit %s.", name);
execvpe(argv[0], argv, env);
- log_error
(
"Failed to execute: %m");
+ log_error
_errno(errno,
"Failed to execute: %m");
return -errno;
}
return -errno;
}
@@
-573,9
+561,11
@@
int main(int argc, char* argv[]) {
if (r <= 0)
goto finish;
if (r <= 0)
goto finish;
- r = find_binary(argv[optind], &command);
+ r = find_binary(argv[optind],
arg_transport == BUS_TRANSPORT_LOCAL,
&command);
if (r < 0) {
if (r < 0) {
- log_error("Failed to find executable %s: %s", argv[optind], strerror(-r));
+ log_error_errno(r, "Failed to find executable %s%s: %m",
+ argv[optind],
+ arg_transport == BUS_TRANSPORT_LOCAL ? "" : " on local system");
goto finish;
}
argv[optind] = command;
goto finish;
}
argv[optind] = command;
@@
-592,7
+582,7
@@
int main(int argc, char* argv[]) {
r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus);
if (r < 0) {
r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus);
if (r < 0) {
- log_error
("Failed to create bus connection: %s", strerror(-r)
);
+ log_error
_errno(r, "Failed to create bus connection: %m"
);
goto finish;
}
goto finish;
}