chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gpt-auto-generator: skip nonexistent devices
[elogind.git]
/
src
/
libsystemd-bus
/
bus-container.c
diff --git
a/src/libsystemd-bus/bus-container.c
b/src/libsystemd-bus/bus-container.c
index 1989afa82a2749b45b30282d99725623a7f10153..d330363b6f89dad199be3103ee36991e113dfcd2 100644
(file)
--- a/
src/libsystemd-bus/bus-container.c
+++ b/
src/libsystemd-bus/bus-container.c
@@
-205,6
+205,16
@@
int bus_container_connect_kernel(sd_bus *b) {
close_nointr_nofail(pair[1]);
pair[1] = -1;
close_nointr_nofail(pair[1]);
pair[1] = -1;
+ r = wait_for_terminate(child, &si);
+ if (r < 0)
+ return r;
+
+ if (si.si_code != CLD_EXITED)
+ return -EIO;
+
+ if (si.si_status != EXIT_SUCCESS)
+ return -EIO;
+
if (recvmsg(pair[0], &mh, MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) < 0)
return -errno;
if (recvmsg(pair[0], &mh, MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) < 0)
return -errno;
@@
-224,16
+234,6
@@
int bus_container_connect_kernel(sd_bus *b) {
fd = fds[0];
}
fd = fds[0];
}
- r = wait_for_terminate(child, &si);
- if (r < 0)
- return r;
-
- if (si.si_code != CLD_EXITED)
- return -EIO;
-
- if (si.si_status != EXIT_SUCCESS)
- return -EIO;
-
b->input_fd = b->output_fd = fd;
fd = -1;
b->input_fd = b->output_fd = fd;
fd = -1;