chiark / gitweb /
util: replace close_nointr_nofail() by a more useful safe_close()
authorLennart Poettering <lennart@poettering.net>
Tue, 18 Mar 2014 18:22:43 +0000 (19:22 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 18 Mar 2014 18:31:34 +0000 (19:31 +0100)
commit03e334a1c7dc8c20c38902aa039440763acc9b17
treebc30b522de8ef9c251bf3ff2fe2d52c92dd8b1ea
parent9459781ee66eb57709c8b8701701365ba60a9f1c
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.
80 files changed:
src/core/audit-fd.c
src/core/automount.c
src/core/busname.c
src/core/cgroup.c
src/core/dbus.c
src/core/execute.c
src/core/ima-setup.c
src/core/load-fragment.c
src/core/machine-id-setup.c
src/core/main.c
src/core/manager.c
src/core/path.c
src/core/service.c
src/core/smack-setup.c
src/core/socket.c
src/core/switch-root.c
src/core/umount.c
src/fsck/fsck.c
src/initctl/initctl.c
src/journal/cat.c
src/journal/catalog.c
src/journal/coredumpctl.c
src/journal/journal-authenticate.c
src/journal/journal-file.c
src/journal/journal-send.c
src/journal/journal-verify.c
src/journal/journalctl.c
src/journal/journald-console.c
src/journal/journald-kmsg.c
src/journal/journald-server.c
src/journal/journald-stream.c
src/journal/sd-journal.c
src/journal/test-journal-verify.c
src/journal/test-mmap-cache.c
src/libsystemd-network/dhcp-network.c
src/libsystemd-network/ipv4ll-network.c
src/libsystemd-network/sd-dhcp-client.c
src/libsystemd-network/sd-ipv4ll.c
src/libsystemd/sd-bus/bus-container.c
src/libsystemd/sd-bus/bus-kernel.c
src/libsystemd/sd-bus/bus-message.c
src/libsystemd/sd-bus/bus-socket.c
src/libsystemd/sd-bus/sd-bus.c
src/libsystemd/sd-bus/sd-memfd.c
src/libsystemd/sd-bus/test-bus-chat.c
src/libsystemd/sd-bus/test-bus-kernel-benchmark.c
src/libsystemd/sd-bus/test-bus-kernel.c
src/libsystemd/sd-event/sd-event.c
src/libsystemd/sd-login/sd-login.c
src/libsystemd/sd-resolve/sd-resolve.c
src/libsystemd/sd-rtnl/sd-rtnl.c
src/login/logind-button.c
src/login/logind-inhibit.c
src/login/logind-session.c
src/login/logind.c
src/login/pam-module.c
src/login/test-inhibit.c
src/machine/machinectl.c
src/network/sd-network.c
src/nspawn/nspawn.c
src/readahead/readahead-collect.c
src/readahead/readahead-common.c
src/readahead/readahead-replay.c
src/reply-password/reply-password.c
src/shared/ask-password-api.c
src/shared/fdset.c
src/shared/install.c
src/shared/log.c
src/shared/logs-show.c
src/shared/spawn-polkit-agent.c
src/shared/util.c
src/shared/util.h
src/shared/watchdog.c
src/shutdownd/shutdownd.c
src/socket-proxy/socket-proxyd.c
src/test/test-util.c
src/tmpfiles/tmpfiles.c
src/tty-ask-password-agent/tty-ask-password-agent.c
src/udev/net/link-config.c
src/vconsole/vconsole-setup.c