diff options
-rw-r--r-- | ext/websocket/lib.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/websocket/lib.rs b/ext/websocket/lib.rs index e8ada74a2..a31431377 100644 --- a/ext/websocket/lib.rs +++ b/ext/websocket/lib.rs @@ -489,7 +489,9 @@ pub async fn op_ws_next_event( Some(Ok(Message::Pong(_))) => NextEventResponse::Pong, Some(Err(e)) => NextEventResponse::Error(e.to_string()), None => { - state.borrow_mut().resource_table.close(rid).unwrap(); + // No message was received, presumably the socket closed while we waited. + // Try close the stream, ignoring any errors, and report closed status to JavaScript. + let _ = state.borrow_mut().resource_table.close(rid); NextEventResponse::Closed } }; |