mirror of
https://github.com/async-rs/async-std.git
synced 2025-01-30 09:15:33 +00:00
parent
247c94ca06
commit
2762ec5800
1 changed files with 14 additions and 2 deletions
|
@ -12,7 +12,7 @@ use crate::future;
|
|||
use crate::io::{self, Read, Seek, SeekFrom, Write};
|
||||
use crate::path::Path;
|
||||
use crate::prelude::*;
|
||||
use crate::task::{self, spawn_blocking, Context, Poll, Waker};
|
||||
use crate::task::{spawn_blocking, Context, Poll, Waker};
|
||||
use crate::utils::Context as _;
|
||||
|
||||
/// An open file on the filesystem.
|
||||
|
@ -315,7 +315,7 @@ impl Drop for File {
|
|||
// non-blocking fashion, but our only other option here is losing data remaining in the
|
||||
// write cache. Good task schedulers should be resilient to occasional blocking hiccups in
|
||||
// file destructors so we don't expect this to be a common problem in practice.
|
||||
let _ = task::block_on(self.flush());
|
||||
let _ = smol::block_on(self.flush());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -867,3 +867,15 @@ impl LockGuard<State> {
|
|||
Poll::Ready(Ok(()))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn async_file_drop() {
|
||||
crate::task::block_on(async move {
|
||||
File::open(".").await.unwrap();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue