Android-cuttlefish cvd tool
Namespaces | Enumerations | Functions
process_monitor.cc File Reference
#include "cuttlefish/host/libs/process_monitor/process_monitor.h"
#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>
#include <signal.h>
#include <stdio.h>
#include <algorithm>
#include <atomic>
#include <future>
#include <memory>
#include <string>
#include <vector>
#include <android-base/file.h>
#include <android-base/logging.h>
#include "android-base/strings.h"
#include "cuttlefish/common/libs/transport/channel.h"
#include "cuttlefish/common/libs/transport/channel_sharedfd.h"
#include "cuttlefish/common/libs/utils/contains.h"
#include "cuttlefish/common/libs/utils/result.h"
#include "cuttlefish/common/libs/utils/subprocess.h"
#include "cuttlefish/host/libs/command_util/util.h"
#include "cuttlefish/host/libs/config/known_paths.h"
Include dependency graph for process_monitor.cc:

Namespaces

namespace  cuttlefish
 
namespace  cuttlefish::anonymous_namespace{process_monitor.cc}
 

Enumerations

enum  cuttlefish::anonymous_namespace{process_monitor.cc}::ParentToChildMessageType : std::uint8_t { cuttlefish::anonymous_namespace{process_monitor.cc}::kStop = 1 , cuttlefish::anonymous_namespace{process_monitor.cc}::kHostResume = 2 , cuttlefish::anonymous_namespace{process_monitor.cc}::kHostSuspend = 3 , cuttlefish::anonymous_namespace{process_monitor.cc}::kError = 4 }
 
enum  cuttlefish::anonymous_namespace{process_monitor.cc}::ChildToParentResponseType : std::uint8_t { cuttlefish::anonymous_namespace{process_monitor.cc}::kSuccess = 0 , cuttlefish::anonymous_namespace{process_monitor.cc}::kFailure = 1 }
 

Functions

Result< void > cuttlefish::anonymous_namespace{process_monitor.cc}::SendEmptyRequest (Channel &channel, uint32_t type)
 
Result< void > cuttlefish::anonymous_namespace{process_monitor.cc}::SendEmptyResponse (Channel &channel, uint32_t type)
 
void cuttlefish::anonymous_namespace{process_monitor.cc}::LogSubprocessExit (const std::string &name, pid_t pid, int wstatus)
 
void cuttlefish::anonymous_namespace{process_monitor.cc}::LogSubprocessExit (const std::string &name, const siginfo_t &infop)
 
Result< void > cuttlefish::anonymous_namespace{process_monitor.cc}::MonitorLoop (std::atomic_bool &running, std::mutex &properties_mutex, const bool restart_subprocesses, std::vector< MonitorEntry > &monitored)
 
Result< void > cuttlefish::anonymous_namespace{process_monitor.cc}::StopSubprocesses (std::vector< MonitorEntry > &monitored)
 
Result< void > cuttlefish::anonymous_namespace{process_monitor.cc}::SuspendResumeImpl (std::vector< MonitorEntry > &monitor_entries, std::mutex &properties_mutex, const SharedFD &channel_to_secure_env, const bool is_suspend, transport::SharedFdChannel &socket)