summaryrefslogtreecommitdiff
path: root/ext/fs/ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fs/ops.rs')
-rw-r--r--ext/fs/ops.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/fs/ops.rs b/ext/fs/ops.rs
index c98b214c2..15711e227 100644
--- a/ext/fs/ops.rs
+++ b/ext/fs/ops.rs
@@ -1156,7 +1156,9 @@ where
let res = fut.or_cancel(cancel_handle).await;
if let Some(cancel_rid) = cancel_rid {
- state.borrow_mut().resource_table.close(cancel_rid).ok();
+ if let Ok(res) = state.borrow_mut().resource_table.take_any(cancel_rid) {
+ res.close();
+ }
};
res?.context_path("writefile", &path)?;
@@ -1213,7 +1215,9 @@ where
let res = fut.or_cancel(cancel_handle).await;
if let Some(cancel_rid) = cancel_rid {
- state.borrow_mut().resource_table.close(cancel_rid).ok();
+ if let Ok(res) = state.borrow_mut().resource_table.take_any(cancel_rid) {
+ res.close();
+ }
};
res?.context_path("readfile", &path)?
@@ -1269,7 +1273,9 @@ where
let res = fut.or_cancel(cancel_handle).await;
if let Some(cancel_rid) = cancel_rid {
- state.borrow_mut().resource_table.close(cancel_rid).ok();
+ if let Ok(res) = state.borrow_mut().resource_table.take_any(cancel_rid) {
+ res.close();
+ }
};
res?.context_path("readfile", &path)?