System.Net.AutoWebProxyScriptEngine.Abort C# (CSharp) Method

Abort() private method

private Abort ( int &syncStatus ) : void
syncStatus int
return void
        internal void Abort(ref int syncStatus)
        {
            lock (this)
            {
                switch (syncStatus)
                {
                    case SyncStatus.Unlocked:
                        syncStatus = SyncStatus.Aborted;
                        break;

                    case SyncStatus.Locking:
                        syncStatus = SyncStatus.Aborted;
                        Monitor.PulseAll(this);
                        break;

                    case SyncStatus.LockOwner:
                        syncStatus = SyncStatus.AbortedLocked;
                        break;

                    case SyncStatus.RequestOwner:
                        ThreadPool.UnsafeQueueUserWorkItem(s_AbortWrapper, m_LockedRequest);
                        syncStatus = SyncStatus.AbortedLocked;
                        m_LockedRequest = null;
                        break;
                }
            }
        }
        // End of locking helper methods.