From ebcdcd0dcb77cf75f10553bad502edfaf1166dcf Mon Sep 17 00:00:00 2001 From: ldm0 Date: Thu, 13 Aug 2026 14:43:27 +0800 Subject: [PATCH] Fix dropped PendingStandaloneDocumentWritePage --- .../runtime/phase_one/document_write_resource_tests.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/moli-renderer-v8/src/runtime/phase_one/document_write_resource_tests.rs b/moli-renderer-v8/src/runtime/phase_one/document_write_resource_tests.rs index 7c2071e87..bd6bf40f7 100644 --- a/moli-renderer-v8/src/runtime/phase_one/document_write_resource_tests.rs +++ b/moli-renderer-v8/src/runtime/phase_one/document_write_resource_tests.rs @@ -1029,16 +1029,19 @@ fn runtime_generation_mismatch_is_rejected_by_the_page_arbiter() { Some(current_target), "a mismatched generation must not consume the current pending load" ); - let result = evaluate_pending_on_owner_local_task( + let (pending, result) = evaluate_pending_on_owner_local_task( pending, "String(globalThis.__staleGenerationScriptRan)", ) - .await - .1; + .await; assert_eq!(result.get("value").and_then(serde_json::Value::as_str), Some("undefined")); + // Keep the pending page, and therefore its request client, alive until the server has + // accepted and served the current-generation script. Dropping it before this await can + // cancel the connect while the server is still blocked in `accept()`. server .await .expect("current document.write script server should finish"); + drop(pending); })); }); }