summaryrefslogtreecommitdiff
path: root/runtime/exec_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/exec_utils.h')
-rw-r--r--runtime/exec_utils.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/exec_utils.h b/runtime/exec_utils.h
index 8e3e3df15d..ebcc2e4e66 100644
--- a/runtime/exec_utils.h
+++ b/runtime/exec_utils.h
@@ -94,11 +94,16 @@ class EXPORT ExecUtils {
int timeout_sec,
/*out*/ std::string* error_msg) const;
- // Same as above, but also collects stat of the process and calls callbacks. The stat is collected
- // no matter the child process succeeds or not.
+ // Same as above, but also collects stat of the process, calls callbacks, and supports creating a
+ // new process group. The stat is collected no matter the child process succeeds or not.
+ //
+ // Programs used by artd (odrefresh, dex2oat, profman) should NOT set `new_process_group` to true
+ // when spawning child processes because artd needs to kill an entire process subtree by killing
+ // the process group.
virtual ExecResult ExecAndReturnResult(const std::vector<std::string>& arg_vector,
int timeout_sec,
const ExecCallbacks& callbacks,
+ bool new_process_group,
/*out*/ ProcessStat* stat,
/*out*/ std::string* error_msg) const;