From ff932b411d63269dbd4d30ea6bd0aa5160fd8aff Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Sat, 9 Oct 2021 22:37:19 +0200 Subject: fix(core): poll async ops eagerly (#12385) Currently all async ops are polled lazily, which means that op initialization code is postponed until control is yielded to the event loop. This has some weird consequences, e.g. ```js let listener = Deno.listen(...); let conn_promise = listener.accept(); listener.close(); // `BadResource` is thrown. A reasonable error would be `Interrupted`. let conn = await conn_promise; ``` JavaScript promises are expected to be eagerly evaluated. This patch makes ops actually do that. --- core/lib.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'core/lib.rs') diff --git a/core/lib.rs b/core/lib.rs index ea7b322e2..c0419f8ab 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -68,6 +68,7 @@ pub use crate::normalize_path::normalize_path; pub use crate::ops::serialize_op_result; pub use crate::ops::Op; pub use crate::ops::OpAsyncFuture; +pub use crate::ops::OpCall; pub use crate::ops::OpFn; pub use crate::ops::OpId; pub use crate::ops::OpPayload; -- cgit v1.2.3