1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00
denoland-deno/cli/tests
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
..
integration fix(test): add process sigint handler for --watch (#18678) 2023-04-13 00:51:04 +02:00
node_compat fix(ext/node): add X509Certificate (#18625) 2023-04-07 22:54:16 +05:30
testdata refactor(core): limit number of boundary crossings between Rust and V8 (#18652) 2023-04-14 02:41:32 +02:00
unit fix(ext/websocket): Avoid write deadlock that requires read_frame to complete (#18705) 2023-04-14 22:17:39 +05:30
unit_node chore: bump child_process_test timeouts for slow CI (#18689) 2023-04-13 13:30:30 -04:00
integration_tests.rs tests: move integration tests to a single module (#17380) 2023-01-13 02:59:13 +01:00