Skip to content

Commit df24c25

Browse files
authored
[browser] mono runtime already exited with 0 - silence WS (#92479)
1 parent 3eba4e0 commit df24c25

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/mono/wasm/runtime/web-socket.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import MonoWasmThreads from "consts:monoWasmThreads";
55

66
import { prevent_timer_throttling } from "./scheduling";
77
import { Queue } from "./queue";
8-
import { ENVIRONMENT_IS_NODE, ENVIRONMENT_IS_SHELL, createPromiseController, mono_assert } from "./globals";
8+
import { ENVIRONMENT_IS_NODE, ENVIRONMENT_IS_SHELL, createPromiseController, loaderHelpers, mono_assert } from "./globals";
99
import { setI32, localHeapViewU8 } from "./memory";
1010
import { VoidPtr } from "./types/emscripten";
1111
import { PromiseController } from "./types/internal";
@@ -58,17 +58,20 @@ export function ws_wasm_create(uri: string, sub_protocols: string[] | null, rece
5858
ws.binaryType = "arraybuffer";
5959
const local_on_open = () => {
6060
if (ws[wasm_ws_is_aborted]) return;
61+
if (loaderHelpers.is_exited()) return;
6162
open_promise_control.resolve(ws);
6263
prevent_timer_throttling();
6364
};
6465
const local_on_message = (ev: MessageEvent) => {
6566
if (ws[wasm_ws_is_aborted]) return;
67+
if (loaderHelpers.is_exited()) return;
6668
_mono_wasm_web_socket_on_message(ws, ev);
6769
prevent_timer_throttling();
6870
};
6971
const local_on_close = (ev: CloseEvent) => {
7072
ws.removeEventListener("message", local_on_message);
7173
if (ws[wasm_ws_is_aborted]) return;
74+
if (loaderHelpers.is_exited()) return;
7275

7376
onClosed(ev.code, ev.reason);
7477

@@ -93,6 +96,7 @@ export function ws_wasm_create(uri: string, sub_protocols: string[] | null, rece
9396
};
9497
const local_on_error = (ev: any) => {
9598
if (ws[wasm_ws_is_aborted]) return;
99+
if (loaderHelpers.is_exited()) return;
96100
ws.removeEventListener("message", local_on_message);
97101
const error = new Error(ev.message || "WebSocket error");
98102
mono_log_warn("WebSocket error", error);

0 commit comments

Comments
 (0)