diff options
-rw-r--r-- | bbot/agent/machine.cxx | 5 | ||||
-rw-r--r-- | bbot/utility.hxx | 6 | ||||
-rw-r--r-- | bbot/utility.txx | 11 |
3 files changed, 10 insertions, 12 deletions
diff --git a/bbot/agent/machine.cxx b/bbot/agent/machine.cxx index a8933bb..a1fe9bb 100644 --- a/bbot/agent/machine.cxx +++ b/bbot/agent/machine.cxx @@ -296,13 +296,14 @@ namespace bbot // // 1. echo system_powerdown | socat - UNIX-CONNECT:.../monitor // + const char* env[] = {"QEMU_AUDIO_DRV=none", // Disable audio output. + nullptr}; proc = run_io_start ( trace, fdnull (), 2, 2, - md, // Run from the machine's directory. - kvm, + process_env (kvm, md, env), // Run from the machine's directory. "-boot", "c", // Boot from disk. "-no-reboot", // Exit on VM reboot. "-m", to_string (ram / 1024) + "M", diff --git a/bbot/utility.hxx b/bbot/utility.hxx index ee74816..c9cd95d 100644 --- a/bbot/utility.hxx +++ b/bbot/utility.hxx @@ -61,6 +61,7 @@ namespace bbot class tracer; using butl::process; + using butl::process_env; using butl::process_exit; using butl::process_error; @@ -72,14 +73,13 @@ namespace bbot process_exit::code_type run_io_exit (tracer&, I&& in, O&& out, E&& err, const P&, A&&...); - template <typename I, typename O, typename E, typename P, typename... A> + template <typename I, typename O, typename E, typename... A> process run_io_start (tracer&, I&& in, O&& out, E&& err, - const dir_path& cwd, - const P&, + const process_env&, A&&...); template <typename P> diff --git a/bbot/utility.txx b/bbot/utility.txx index b3d6d53..43d995a 100644 --- a/bbot/utility.txx +++ b/bbot/utility.txx @@ -15,14 +15,13 @@ namespace bbot { // run_*() // - template <typename I, typename O, typename E, typename P, typename... A> + template <typename I, typename O, typename E, typename... A> process run_io_start (tracer& t, I&& in, O&& out, E&& err, - const dir_path& cwd, - const P& p, + const process_env& pe, A&&... args) { try @@ -32,12 +31,12 @@ namespace bbot forward<I> (in), forward<O> (out), forward<E> (err), - butl::process_env (p, cwd), + pe, forward<A> (args)...); } catch (const process_error& e) { - fail << "unable to execute " << p << ": " << e << endf; + fail << "unable to execute " << *pe.path << ": " << e << endf; } } @@ -78,7 +77,6 @@ namespace bbot forward<I> (in), forward<O> (out), forward<E> (err), - dir_path (), p, forward<A> (args)...)); @@ -93,7 +91,6 @@ namespace bbot forward<I> (in), forward<O> (out), forward<E> (err), - dir_path (), p, forward<A> (args)...)); run_io_finish (t, pr, p); |