6[DebuggerDisplay(
"Set = {IsSet}")]
71 : this(initialState: false)
93 private void Initialize(
bool initialState,
int spinCount)
96 SpinCount = (Environment.IsSingleProcessor ? 1 : spinCount);
103 object value =
new object();
122 lock (manualResetEvent)
126 manualResetEvent.
Set();
133 Set(duringCancellation:
false);
136 private void Set(
bool duringCancellation)
147 if (eventObj ==
null || duringCancellation)
170 [UnsupportedOSPlatform(
"browser")]
176 [UnsupportedOSPlatform(
"browser")]
182 [UnsupportedOSPlatform(
"browser")]
185 long num = (long)
timeout.TotalMilliseconds;
186 if (num < -1 || num >
int.MaxValue)
193 [UnsupportedOSPlatform(
"browser")]
196 long num = (long)
timeout.TotalMilliseconds;
197 if (num < -1 || num >
int.MaxValue)
204 [UnsupportedOSPlatform(
"browser")]
210 [UnsupportedOSPlatform(
"browser")]
235 while (spinWait.
Count < spinCount)
242 if (spinWait.
Count >= 100 && spinWait.
Count % 10 == 0)
293 protected virtual void Dispose(
bool disposing)
305 if (eventObj ==
null)
327 lock (manualResetEventSlim.
m_lock)
339 int value = (combinedState & ~updateBitsMask) | newBits;
350 return (
state & mask) >>> rightBitShiftCount;
static void SuppressFinalize(object obj)
static string Format(string resourceFormat, object p1)
static string ManualResetEventSlim_Disposed
static string ManualResetEventSlim_ctor_SpinCountOutOfRange
static string ManualResetEventSlim_ctor_TooManyWaiters
static int CompareExchange(ref int location1, int value, int comparand)
volatile int m_combinedState
bool Wait(TimeSpan timeout, CancellationToken cancellationToken)
volatile ManualResetEvent m_eventObj
static void CancellationTokenCallback(object obj)
bool Wait(int millisecondsTimeout)
bool Wait(TimeSpan timeout)
static int ExtractStatePortion(int state, int mask)
ManualResetEventSlim(bool initialState, int spinCount)
void EnsureLockObjectCreated()
virtual void Dispose(bool disposing)
void Wait(CancellationToken cancellationToken)
void Initialize(bool initialState, int spinCount)
ManualResetEventSlim(bool initialState)
static int ExtractStatePortionAndShiftRight(int state, int mask, int rightBitShiftCount)
bool Wait(int millisecondsTimeout, CancellationToken cancellationToken)
void LazyInitializeEvent()
static readonly Action< object > s_cancellationTokenCallback
void Set(bool duringCancellation)
void UpdateStateAtomically(int newBits, int updateBitsMask)
static void PulseAll(object obj)
static bool Wait(object obj, int millisecondsTimeout)
static int UpdateTimeOut(uint startTime, int originalWaitMillisecondsTimeout)
virtual void Dispose(bool explicitDisposing)
static CancellationToken None
static readonly int SpinCountforSpinBeforeWait