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/reply-password/reply-password.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/reply-password') diff --git a/src/reply-password/reply-password.c b/src/reply-password/reply-password.c index 2f168985b4..c730216b73 100644 --- a/src/reply-password/reply-password.c +++ b/src/reply-password/reply-password.c @@ -91,7 +91,8 @@ int main(int argc, char *argv[]) { goto finish; } - if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0)) < 0) { + fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); + if (fd < 0) { log_error("socket() failed: %m"); goto finish; } @@ -102,8 +103,7 @@ int main(int argc, char *argv[]) { r = EXIT_SUCCESS; finish: - if (fd >= 0) - close_nointr_nofail(fd); + safe_close(fd); return r; } -- cgit v1.2.3-54-g00ecf