Index: runtime/bin/eventhandler_linux.cc |
diff --git a/runtime/bin/eventhandler_linux.cc b/runtime/bin/eventhandler_linux.cc |
index fd410fece963efeb0dbf82db849ec03da3ea1299..8b35818ccd680ccf936c8ab4561e0bf569db23ac 100644 |
--- a/runtime/bin/eventhandler_linux.cc |
+++ b/runtime/bin/eventhandler_linux.cc |
@@ -80,9 +80,15 @@ EventHandlerImplementation::EventHandlerImplementation() |
if (result != 0) { |
FATAL("Pipe creation failed"); |
} |
- FDUtils::SetNonBlocking(interrupt_fds_[0]); |
- FDUtils::SetCloseOnExec(interrupt_fds_[0]); |
- FDUtils::SetCloseOnExec(interrupt_fds_[1]); |
+ if (!FDUtils::SetNonBlocking(interrupt_fds_[0])) { |
+ FATAL("Failed to set pipe fd non blocking\n"); |
+ } |
+ if (!FDUtils::SetCloseOnExec(interrupt_fds_[0])) { |
+ FATAL("Failed to set pipe fd close on exec\n"); |
+ } |
+ if (!FDUtils::SetCloseOnExec(interrupt_fds_[1])) { |
+ FATAL("Failed to set pipe fd close on exec\n"); |
+ } |
shutdown_ = false; |
// The initial size passed to epoll_create is ignore on newer (>= |
// 2.6.8) Linux versions |
@@ -91,7 +97,9 @@ EventHandlerImplementation::EventHandlerImplementation() |
if (epoll_fd_ == -1) { |
FATAL1("Failed creating epoll file descriptor: %i", errno); |
} |
- FDUtils::SetCloseOnExec(epoll_fd_); |
+ if (!FDUtils::SetCloseOnExec(epoll_fd_)) { |
+ FATAL("Failed to set epoll fd close on exec\n"); |
+ } |
// Register the interrupt_fd with the epoll instance. |
struct epoll_event event; |
event.events = EPOLLIN; |