From 03e334a1c7dc8c20c38902aa039440763acc9b17 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 18 Mar 2014 19:22:43 +0100 Subject: util: replace close_nointr_nofail() by a more useful safe_close() safe_close() automatically becomes a NOP when a negative fd is passed, and returns -1 unconditionally. This makes it easy to write lines like this: fd = safe_close(fd); Which will close an fd if it is open, and reset the fd variable correctly. By making use of this new scheme we can drop a > 200 lines of code that was required to test for non-negative fds or to reset the closed fd variable afterwards. --- src/libsystemd/sd-bus/test-bus-kernel.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/libsystemd/sd-bus/test-bus-kernel.c') diff --git a/src/libsystemd/sd-bus/test-bus-kernel.c b/src/libsystemd/sd-bus/test-bus-kernel.c index 2f0f5aa00b..34d000f1c6 100644 --- a/src/libsystemd/sd-bus/test-bus-kernel.c +++ b/src/libsystemd/sd-bus/test-bus-kernel.c @@ -137,14 +137,12 @@ int main(int argc, char *argv[]) { assert_se(write(pipe_fds[1], "x", 1) == 1); - close_nointr_nofail(pipe_fds[1]); - pipe_fds[1] = -1; + pipe_fds[1] = safe_close(pipe_fds[1]); r = sd_bus_message_append(m, "h", pipe_fds[0]); assert_se(r >= 0); - close_nointr_nofail(pipe_fds[0]); - pipe_fds[0] = -1; + pipe_fds[0] = safe_close(pipe_fds[0]); r = sd_bus_send(b, m, NULL); assert_se(r >= 0); -- cgit v1.2.3