deno/cli
Divy Srivastava a411144219
fix(ext/websocket): Avoid write deadlock that requires read_frame to complete (#18705)
Fixes https://github.com/denoland/deno/issues/18700

Timeline of the events that lead to the bug.

1. WebSocket handshake complete
2. Server on `read_frame` holding an AsyncRefCell borrow of the
WebSocket stream.
3. Client sends a TXT frame after a some time
4. Server recieves the frame and goes back to `read_frame`.
5. After some time, Server starts a `write_frame` but `read_frame` is
still holding a borrow!
^--- Locked. read_frame needs to complete so we can resume the write.

This commit changes all writes to directly borrow the
`fastwebsocket::WebSocket` resource under the assumption that it won't
affect ongoing reads.
2023-04-14 22:17:39 +05:30
..
args refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
bench perf(ops): directly respond for eager ops (#18683) 2023-04-13 14:32:47 +02:00
cache fix(lsp): include all diagnosable documents on initialize (#17979) 2023-03-30 17:47:53 -04:00
js refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00
lsp refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00
napi chore: forward v1.32.4 release commit to main (#18669) 2023-04-12 13:03:27 -04:00
node refactor(cli,ext,ops): cleanup regex with lazy-regex (#17296) 2023-04-13 03:08:01 +02:00
npm refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
ops refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00
schemas feat: embed import map in the config file (#17478) 2023-01-25 21:13:40 +01:00
tests fix(ext/websocket): Avoid write deadlock that requires read_frame to complete (#18705) 2023-04-14 22:17:39 +05:30
tools refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
tsc refactor(cli,ext,ops): cleanup regex with lazy-regex (#17296) 2023-04-13 03:08:01 +02:00
util test(runtime): support Windows in resolve_from_cwd_absolute (#18379) 2023-04-13 01:45:53 +02:00
auth_tokens.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
build.rs refactor(cli,ext,ops): cleanup regex with lazy-regex (#17296) 2023-04-13 03:08:01 +02:00
Cargo.toml refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
deno_std.rs chore: forward v1.32.4 release commit to main (#18669) 2023-04-12 13:03:27 -04:00
emit.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
errors.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
file_fetcher.rs Revert "fix(cli): don't store blob and data urls in the module cache (#18261)" (#18572) 2023-04-03 21:05:39 +09:00
graph_util.rs fix(npm): do not "npm install" when npm specifier happens to match package.json entry (#18660) 2023-04-11 18:10:51 -04:00
http_util.rs refactor: remove usages of map_or / map_or_else (#18212) 2023-03-15 17:46:36 -04:00
js.rs refactor(core): Improve ergonomics of managing ASCII strings (#18498) 2023-04-04 06:46:31 -06:00
main.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
module_loader.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
proc_state.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
resolver.rs refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
standalone.rs refactor: ProcState::build -> ProcState::from_flags (#18672) 2023-04-12 14:54:28 -04:00
version.rs refactor: make version and user_agent &'static str (#18400) 2023-03-23 23:27:58 +01:00
worker.rs refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00

Deno CLI Crate

crates

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.