From 40a587bbaff38bb0b60313c24b94e2ecd53b181c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 3 Mar 2015 17:03:21 +0100 Subject: system/FileDescriptor: new wrapper class for a file descriptor --- src/system/SignalFD.cxx | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/system/SignalFD.cxx') diff --git a/src/system/SignalFD.cxx b/src/system/SignalFD.cxx index 92d2eec01..14193c893 100644 --- a/src/system/SignalFD.cxx +++ b/src/system/SignalFD.cxx @@ -23,33 +23,29 @@ #include "FatalError.hxx" #include -#include #include void SignalFD::Create(const sigset_t &mask) { - fd = ::signalfd(fd, &mask, SFD_NONBLOCK|SFD_CLOEXEC); - if (fd < 0) + if (!fd.CreateSignalFD(&mask)) FatalSystemError("signalfd() failed"); } void SignalFD::Close() { - if (fd >= 0) { - ::close(fd); - fd = -1; - } + if (fd.IsDefined()) + fd.Close(); } int SignalFD::Read() { - assert(fd >= 0); + assert(fd.IsDefined()); signalfd_siginfo info; - return read(fd, &info, sizeof(info)) > 0 + return fd.Read(&info, sizeof(info)) > 0 ? info.ssi_signo : -1; } -- cgit v1.2.3