/// <summary> /// The worker thread method /// </summary> private void Worker() { while (!shutdown) { workevent.WaitOne(); WebrequestInstance request = null; lock (syncroot) if (waitingqueue.Count > 0) { request = waitingqueue.Dequeue(); } if (request != null) { try { request.Process(); } catch (Exception ex) { Interface.GetMod().RootLogger.WriteException("Web request produced exception", ex); } lock (syncroot) completequeue.Enqueue(request); } lock (syncroot) if (waitingqueue.Count > 0) { workevent.Set(); } } }
/// <summary> /// The worker thread method /// </summary> private void Worker() { while (!shutdown) { workevent.WaitOne(); WebrequestInstance request = null; lock (syncroot) if (waitingqueue.Count > 0) { request = waitingqueue.Dequeue(); } if (request != null) { request.Process(); lock (syncroot) completequeue.Enqueue(request); } lock (syncroot) if (waitingqueue.Count > 0) { workevent.Set(); } } }