mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-09 03:57:24 +00:00
base: syslog: Preserve stderr FD when spawning
We need to keep stderr FD when spawning processes. Otherwise, log messages won't be emitted to stderr. This affects the cases where we spawn device processes such as: * "crosvm run" without --disable-sandbox, * virtiofs device, which create its own jail, * "crosvm devices", which spawn sub processes BUG=none TEST=check log messages in virtio-{block,fs} are shown in stderr Change-Id: If60845d73290a42c863e6c6f4e75869644f659d0 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4054212 Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Takaya Saeki <takayas@chromium.org> Auto-Submit: Keiichi Watanabe <keiichiw@chromium.org>
This commit is contained in:
parent
ea7a5f2b3a
commit
2eb36ff983
1 changed files with 2 additions and 0 deletions
|
@ -66,6 +66,7 @@ use serde::Serialize;
|
|||
use sync::Mutex;
|
||||
use thiserror::Error as ThisError;
|
||||
|
||||
use crate::descriptor::AsRawDescriptor;
|
||||
use crate::platform::syslog::PlatformSyslog;
|
||||
use crate::platform::RawDescriptor;
|
||||
|
||||
|
@ -296,6 +297,7 @@ impl State {
|
|||
builder.filter_level(log::LevelFilter::Trace);
|
||||
builder.target(env_logger::Target::Stderr);
|
||||
loggers.push(Box::new(builder.build()));
|
||||
descriptors.push(std::io::stderr().as_raw_descriptor());
|
||||
}
|
||||
|
||||
if let Some(fd) = cfg.pipe_fd {
|
||||
|
|
Loading…
Reference in a new issue