From d9d132b22c65d7d04d429ae28e9384bf0ca4f29a Mon Sep 17 00:00:00 2001 From: arunmu Date: Wed, 16 Mar 2016 22:18:40 +0530 Subject: [PATCH] Implemented poll --- main | Bin 92956 -> 107308 bytes subprocess.hpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/main b/main index 7b9ba6df6efa5405312df1535a62410259894706..7cd76b9ce5bc5e23a030820aca50d10f65cd8524 100755 GIT binary patch literal 107308 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 I-v<8vKars-V*mgE delta 32643 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 Mvl_&Ir1-)A16;qWMF0Q* diff --git a/subprocess.hpp b/subprocess.hpp index 7dc08f9..51e2138 100755 --- a/subprocess.hpp +++ b/subprocess.hpp @@ -476,8 +476,12 @@ public: int pid() const noexcept { return child_pid_; } + int retcode() const noexcept { return retcode_; } + bool wait() throw(OSError); + int poll() throw(OSError); + void set_out_buf_cap(size_t cap) { stream_.set_out_buf_cap(cap); } void set_err_buf_cap(size_t cap) { stream_.set_err_buf_cap(cap); } @@ -524,8 +528,11 @@ private: std::vector vargs_; std::vector cargv_; + bool child_created_ = false; // Pid of the child process int child_pid_ = -1; + + int retcode_ = -1; }; void Popen::init_args() { @@ -573,6 +580,39 @@ bool Popen::wait() throw (OSError) return true; } +int Popen::poll() throw (OSError) +{ + int status; + if (!child_created_) return 0; // TODO: ?? + + int ret = waitpid(child_pid_, &status, WNOHANG); + + if (ret == child_pid_) { + if (WIFSIGNALED(status)) { + retcode_ = WTERMSIG(status); + } else if (WIFEXITED(status)) { + retcode_ = WEXITSTATUS(status); + } else { + retcode_ = 255; + } + return retcode_; + } + + if (ret == -1) { + // From subprocess.py + // This happens if SIGCHLD is set to be ignored + // or waiting for child process has otherwise been disabled + // for our process. This child is dead, we cannot get the + // status. + if (errno == ECHILD) retcode_ = 0; + else throw OSError("waitpid failed", errno); + } + + retcode_ = ret; + + return retcode_; +} + void Popen::execute_process() throw (CalledProcessError, OSError) { @@ -591,6 +631,8 @@ void Popen::execute_process() throw (CalledProcessError, OSError) throw OSError("fork failed", errno); } + child_created_ = true; + if (child_pid_ == 0) { // Close descriptors belonging to parent