From b4c82165c6ca87365cbbafd6de00f1ee887cab39 Mon Sep 17 00:00:00 2001 From: sta Date: Wed, 26 May 2021 16:53:48 +0900 Subject: [PATCH] [Modify] Lock it --- websocket-sharp/Net/HttpListener.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/websocket-sharp/Net/HttpListener.cs b/websocket-sharp/Net/HttpListener.cs index ac8c0949..a59ae336 100644 --- a/websocket-sharp/Net/HttpListener.cs +++ b/websocket-sharp/Net/HttpListener.cs @@ -822,14 +822,16 @@ namespace WebSocketSharp.Net throw new ArgumentException (msg, "asyncResult"); } - if (ares.EndCalled) { - var msg = "This IAsyncResult instance cannot be reused."; + lock (ares.SyncRoot) { + if (ares.EndCalled) { + var msg = "This IAsyncResult instance cannot be reused."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException (msg); + } + + ares.EndCalled = true; } - ares.EndCalled = true; - if (!ares.IsCompleted) ares.AsyncWaitHandle.WaitOne ();