assert(name);
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
- if (fd < 0) {
- log_error("socket() failed: %m");
- return -errno;
- }
+ if (fd < 0)
+ return log_error_errno(errno, "socket() failed: %m");
snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%" PRIx64, random_u64());
if (r < 0) {
r = -errno;
- log_error("bind(%s) failed: %m", sa.un.sun_path);
+ log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
goto fail;
}
if (setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) < 0) {
r = -errno;
- log_error("SO_PASSCRED failed: %m");
+ log_error_errno(errno, "SO_PASSCRED failed: %m");
goto fail;
}
fd = mkostemp_safe(temp, O_WRONLY|O_CLOEXEC);
if (fd < 0) {
- log_error("Failed to create password file: %m");
+ log_error_errno(errno, "Failed to create password file: %m");
r = -errno;
goto finish;
}
f = fdopen(fd, "w");
if (!f) {
- log_error("Failed to allocate FILE: %m");
+ log_error_errno(errno, "Failed to allocate FILE: %m");
r = -errno;
goto finish;
}
signal_fd = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC);
if (signal_fd < 0) {
- log_error("signalfd(): %m");
+ log_error_errno(errno, "signalfd(): %m");
r = -errno;
goto finish;
}
fflush(f);
if (ferror(f)) {
- log_error("Failed to write query file: %m");
+ log_error_errno(errno, "Failed to write query file: %m");
r = -errno;
goto finish;
}
final[sizeof(final)-9] = 'k';
if (rename(temp, final) < 0) {
- log_error("Failed to rename query file: %m");
+ log_error_errno(errno, "Failed to rename query file: %m");
r = -errno;
goto finish;
}
if (errno == EINTR)
continue;
- log_error("poll() failed: %m");
+ log_error_errno(errno, "poll() failed: %m");
r = -errno;
goto finish;
}
errno == EINTR)
continue;
- log_error("recvmsg() failed: %m");
+ log_error_errno(errno, "recvmsg() failed: %m");
r = -errno;
goto finish;
}