Index: components/arc/standalone/service_helper.cc |
diff --git a/components/arc/standalone/service_helper.cc b/components/arc/standalone/service_helper.cc |
deleted file mode 100644 |
index 07640b85e4df0b66c4c402b8a7084948867ef2ee..0000000000000000000000000000000000000000 |
--- a/components/arc/standalone/service_helper.cc |
+++ /dev/null |
@@ -1,64 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/arc/standalone/service_helper.h" |
- |
-#include "base/bind.h" |
-#include "base/files/file_util.h" |
-#include "base/logging.h" |
-#include "base/posix/eintr_wrapper.h" |
- |
-namespace arc { |
- |
-// static |
-ServiceHelper* ServiceHelper::self_ = nullptr; |
- |
-ServiceHelper::ServiceHelper() { |
-} |
- |
-ServiceHelper::~ServiceHelper() { |
- // Best efforts clean up, ignore the return values. |
- sigaction(SIGINT, &old_sigint_, NULL); |
- sigaction(SIGTERM, &old_sigterm_, NULL); |
-} |
- |
-void ServiceHelper::Init(const base::Closure& closure) { |
- CHECK(!ServiceHelper::self_); |
- ServiceHelper::self_ = this; |
- closure_ = closure; |
- |
- // Initialize pipe |
- int pipe_fd[2]; |
- CHECK_EQ(0, pipe(pipe_fd)); |
- read_fd_.reset(pipe_fd[0]); |
- write_fd_.reset(pipe_fd[1]); |
- CHECK(base::SetNonBlocking(write_fd_.get())); |
- watch_controller_ = base::FileDescriptorWatcher::WatchReadable( |
- read_fd_.get(), base::Bind(&ServiceHelper::OnFileCanReadWithoutBlocking, |
- base::Unretained(this))); |
- |
- struct sigaction action = {}; |
- CHECK_EQ(0, sigemptyset(&action.sa_mask)); |
- action.sa_handler = ServiceHelper::TerminationHandler; |
- action.sa_flags = 0; |
- |
- CHECK_EQ(0, sigaction(SIGINT, &action, &old_sigint_)); |
- CHECK_EQ(0, sigaction(SIGTERM, &action, &old_sigterm_)); |
-} |
- |
-// static |
-void ServiceHelper::TerminationHandler(int /* signum */) { |
- if (HANDLE_EINTR(write(self_->write_fd_.get(), "1", 1)) < 0) { |
- _exit(2); // We still need to exit the program, but in a brute force way. |
- } |
-} |
- |
-void ServiceHelper::OnFileCanReadWithoutBlocking() { |
- char c; |
- // We don't really care about the return value, since it indicates closing. |
- HANDLE_EINTR(read(read_fd_.get(), &c, 1)); |
- closure_.Run(); |
-} |
- |
-} // namespace arc |