[Modify] Remove some locks

This commit is contained in:
sta 2016-04-17 15:36:26 +09:00
parent f41fbd6dcb
commit 080a436ef0

View File

@ -492,28 +492,24 @@ namespace WebSocketSharp.Net
private HttpListenerAsyncResult getAsyncResultFromQueue () private HttpListenerAsyncResult getAsyncResultFromQueue ()
{ {
lock (_waitQueueSync) { if (_waitQueue.Count == 0)
if (_waitQueue.Count == 0) return null;
return null;
var ares = _waitQueue[0]; var ares = _waitQueue[0];
_waitQueue.RemoveAt (0); _waitQueue.RemoveAt (0);
return ares; return ares;
}
} }
private HttpListenerContext getContextFromQueue () private HttpListenerContext getContextFromQueue ()
{ {
lock (_ctxQueueSync) { if (_ctxQueue.Count == 0)
if (_ctxQueue.Count == 0) return null;
return null;
var ctx = _ctxQueue[0]; var ctx = _ctxQueue[0];
_ctxQueue.RemoveAt (0); _ctxQueue.RemoveAt (0);
return ctx; return ctx;
}
} }
#endregion #endregion
@ -572,13 +568,10 @@ namespace WebSocketSharp.Net
throw new HttpListenerException (995); throw new HttpListenerException (995);
var ctx = getContextFromQueue (); var ctx = getContextFromQueue ();
if (ctx == null) { if (ctx == null)
lock (_waitQueueSync) _waitQueue.Add (asyncResult);
_waitQueue.Add (asyncResult); else
}
else {
asyncResult.Complete (ctx, true); asyncResult.Complete (ctx, true);
}
return asyncResult; return asyncResult;
} }
@ -602,13 +595,10 @@ namespace WebSocketSharp.Net
_ctxRegistry[context] = context; _ctxRegistry[context] = context;
var ares = getAsyncResultFromQueue (); var ares = getAsyncResultFromQueue ();
if (ares == null) { if (ares == null)
lock (_ctxQueueSync) _ctxQueue.Add (context);
_ctxQueue.Add (context); else
}
else {
ares.Complete (context); ares.Complete (context);
}
return true; return true;
} }