public void UnlockCPU() { int TlsLockCount = m_TlsIndex.Value; TlsLockCount--; System.Diagnostics.Debug.Assert(TlsLockCount >= 0); // ロック解除 if (TlsLockCount == 0) { m_SysSem.Release(); Interlocked.Decrement(ref m_Locked); } m_TlsIndex.Value = TlsLockCount; if (TlsLockCount == 0) { CPUContext LockCPUContext = CPUContext.GetCurrent(); if (LockCPUContext != null) { LockCPUContext.EndDelaySuspend(); } } }
void EndDelaySuspend(CPUContext CPUContext) { if (CPUContext == null) { return; } if (!CPUContext.EndDelaySuspend()) { CPUContext.Terminate(); } }
void EndDelaySuspend(CPUContext CPUContext) { if (CPUContext == null) return; if (!CPUContext.EndDelaySuspend()) { CPUContext.Terminate(); } }