#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "sandbox/linux/services/scoped_process.h"
#include <fcntl.h>
#include <signal.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <ostream>
#include "base/check_op.h"
#include "base/functional/callback.h"
#include "base/notreached.h"
#include "base/posix/eintr_wrapper.h"
#include "build/build_config.h"
#include "sandbox/linux/services/syscall_wrappers.h"
#include "sandbox/linux/services/thread_helpers.h"
namespace sandbox {
namespace {
const char kSynchronisationChar[] = …;
void WaitForever() { … }
}
ScopedProcess::ScopedProcess(base::OnceClosure child_callback)
: … { … }
ScopedProcess::~ScopedProcess() { … }
int ScopedProcess::WaitForExit(bool* got_signaled) { … }
bool ScopedProcess::WaitForClosureToRun() { … }
bool ScopedProcess::IsOriginalProcess() { … }
}