mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 20:24:31 +00:00
agent: Fix ut issue caused by fd double closed
Never ever try to close the same fd double times, even in a unit test. A file descriptor is a number which will be reused, so when you close the same number twice you may close another file descriptor in the second time and then there will be an error 'Bad file descriptor (os error 9)' while the wrongly closed fd is being used. Fixes: #6679 Signed-off-by: Tim Zhang <tim@hyper.sh>
This commit is contained in:
parent
243cb2e3af
commit
53c749a9de
@ -442,9 +442,8 @@ mod tests {
|
||||
let msg = format!("test[{}]: {:?}", i, d);
|
||||
let (rfd, wfd) = unistd::pipe2(OFlag::O_CLOEXEC).unwrap();
|
||||
defer!({
|
||||
// rfd is closed by the use of PipeStream in the crate_logger_task function,
|
||||
// but we will attempt to close in case of a failure
|
||||
let _ = unistd::close(rfd);
|
||||
// XXX: Never try to close rfd, because it will be closed by PipeStream in
|
||||
// create_logger_task() and it's not safe to close the same fd twice time.
|
||||
unistd::close(wfd).unwrap();
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user