Add additional logging options to Subprocess class
Change-Id: I4c3865c5a2875dc66f6fed64b4ba0bb85e8e18b1
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/starter/subprocess.h b/aos/starter/subprocess.h
index 784c544..9630e00 100644
--- a/aos/starter/subprocess.h
+++ b/aos/starter/subprocess.h
@@ -68,7 +68,14 @@
// automatically.
class Application {
public:
- enum class QuietLogging { kYes, kNo };
+ enum class QuietLogging {
+ kYes,
+ kNo,
+ // For debugging child processes not behaving as expected. When a child
+ // experiences an event such as exiting with an error code or dying to due a
+ // signal, this option will cause a log statement to be printed.
+ kNotForDebugging,
+ };
Application(const aos::Application *application, aos::EventLoop *event_loop,
std::function<void()> on_change,
QuietLogging quiet_flag = QuietLogging::kNo);
@@ -127,6 +134,8 @@
bool autorestart() const { return autorestart_; }
void set_autorestart(bool autorestart) { autorestart_ = autorestart; }
+ LastStopReason stop_reason() const { return stop_reason_; }
+
const std::string &GetStdout();
const std::string &GetStderr();
std::optional<int> exit_code() const { return exit_code_; }