mirror of
https://github.com/denoland/deno
synced 2024-08-25 02:57:22 +00:00
![]() Follow-up to #20822. cc @lrowe The `httpServerExplicitResourceManagement` tests were randomly failing on CI because of a race. The `drain` waker was missing wakeup events if the listeners shut down after the last HTTP response finished. If we lost the race (rare), the server Rc would be dropped and we wouldn't poll it again. This replaces the drain waker system with a signalling Rc that always resolves when the refcount is about to become 1. Fix verified by running serve tests in a loop: ``` for i in {0..100}; do cargo run --features=__http_tracing -- test -A --unstable '/Users/matt/Documents/github/deno/deno/cli/tests/unit/ser ve_test.ts' --filter httpServerExplicitResourceManagement; done; ``` |
||
---|---|---|
.. | ||
benches | ||
00_serve.js | ||
01_http.js | ||
Cargo.toml | ||
compressible.rs | ||
http_next.rs | ||
hyper_util_tokioio.rs | ||
lib.rs | ||
network_buffered_stream.rs | ||
reader_stream.rs | ||
README.md | ||
request_body.rs | ||
request_properties.rs | ||
response_body.rs | ||
service.rs | ||
websocket_upgrade.rs |