IronRuby.StandardLibrary.Threading.RubyConditionVariable.Wait C# (CSharp) Method

Wait() private method

private Wait ( RubyConditionVariable self, [ mutex ) : RubyConditionVariable
self RubyConditionVariable
mutex [
return RubyConditionVariable
        public static RubyConditionVariable/*!*/ Wait(RubyConditionVariable/*!*/ self, [NotNull]RubyMutex/*!*/ mutex) {
            self._mutex = mutex;
            RubyMutex.Unlock(mutex);
            lock (self._lock) { self._waits++; }

            self._signal.WaitOne();

            lock (self._lock) { self._waits--; }
            RubyMutex.Lock(mutex);
            return self;
        }