System.Threading.ReaderWriterLock.GetOrCreateReaderEvent C# (CSharp) 메소드

GetOrCreateReaderEvent() 개인적인 메소드

Failed to allocate the event object
private GetOrCreateReaderEvent ( ) : ManualResetEventSlim
리턴 ManualResetEventSlim
        private ManualResetEventSlim GetOrCreateReaderEvent()
        {
            ManualResetEventSlim currentEvent = _readerEvent;
            if (currentEvent != null)
            {
                return currentEvent;
            }

            currentEvent = new ManualResetEventSlim(false, 0);
            ManualResetEventSlim previousEvent = Interlocked.CompareExchange(ref _readerEvent, currentEvent, null);
            if (previousEvent == null)
            {
                return currentEvent;
            }

            currentEvent.Dispose();
            return previousEvent;
        }