Mono.MicroThreads.CriticalSection.Enter C# (CSharp) Method

Enter() public method

public Enter ( ) : void
return void
        public void Enter()
        {
            while (m_locked == true)
            {
                m_suspendedThreads.Enqueue(MicroThread.CurrentThread);
                MicroThread.CurrentThread.Wait();
            }

            m_locked = true;
        }

Usage Example

        public MicroSocket Accept()
        {
            Print("Begin accepting");

            m_readCS.Enter();
            m_readingThread = MicroThread.CurrentThread;
            m_readingThread.Wait();
            m_readingThread = null;
            m_readCS.Exit();

            Print("Accept returned");

            Socket      newSocket = m_socket.Accept();
            MicroSocket s         = new MicroSocket(newSocket);

            return(s);
        }
All Usage Examples Of Mono.MicroThreads.CriticalSection::Enter
CriticalSection