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/EventFD.cxx | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'src/system/EventFD.cxx') diff --git a/src/system/EventFD.cxx b/src/system/EventFD.cxx index 2c1cef040..016dd372c 100644 --- a/src/system/EventFD.cxx +++ b/src/system/EventFD.cxx @@ -20,46 +20,35 @@ #include "config.h" #ifdef USE_EVENTFD #include "EventFD.hxx" -#include "system/fd_util.h" #include "system/FatalError.hxx" #include "Compiler.h" #include -#include - #include EventFD::EventFD() - :fd(eventfd_cloexec_nonblock(0, 0)) { - if (fd < 0) + if (!fd.CreateEventFD(0)) FatalSystemError("eventfd() failed"); } -EventFD::~EventFD() -{ - assert(fd >= 0); - - close(fd); -} - bool EventFD::Read() { - assert(fd >= 0); + assert(fd.IsDefined()); eventfd_t value; - return read(fd, &value, sizeof(value)) == (ssize_t)sizeof(value); + return fd.Read(&value, sizeof(value)) == (ssize_t)sizeof(value); } void EventFD::Write() { - assert(fd >= 0); + assert(fd.IsDefined()); static constexpr eventfd_t value = 1; gcc_unused ssize_t nbytes = - write(fd, &value, sizeof(value)); + fd.Write(&value, sizeof(value)); } #endif /* USE_EVENTFD */ -- cgit v1.2.3