Exemplo n.º 1
0
        public void Upgrade()
        {
            if (_lockMode != IICLockMode.ReaderLock)
            {
                throw new InvalidOperationException("lock mode can't upgraded:" + _lockMode);
            }

            _lockCookie = _innerLock.UpgradeToWriterLock(_msTimeout);
            _lockMode   = IICLockMode.UpdatedWriterLock;
        }
Exemplo n.º 2
0
        public IICLockRegion(ReaderWriterLock innerLock, IICLockMode mode, int millisecondTimeout)
        {
            _innerLock = innerLock;
            _lockMode = mode;
            _msTimeout = millisecondTimeout;

            switch (mode) {
                case IICLockMode.ReaderLock:
                    _innerLock.AcquireReaderLock(millisecondTimeout);
                    break;
                case IICLockMode.WriterLock:
                    _innerLock.AcquireWriterLock(millisecondTimeout);
                    break;
                default:
                    throw new NotSupportedException("Unexcepted LockMode: " + mode);
            }
        }
Exemplo n.º 3
0
        public IICLockRegion(ReaderWriterLock innerLock, IICLockMode mode, int millisecondTimeout)
        {
            _innerLock = innerLock;
            _lockMode  = mode;
            _msTimeout = millisecondTimeout;

            switch (mode)
            {
            case IICLockMode.ReaderLock:
                _innerLock.AcquireReaderLock(millisecondTimeout);
                break;

            case IICLockMode.WriterLock:
                _innerLock.AcquireWriterLock(millisecondTimeout);
                break;

            default:
                throw new NotSupportedException("Unexcepted LockMode: " + mode);
            }
        }
Exemplo n.º 4
0
        public void Upgrade()
        {
            if (_lockMode != IICLockMode.ReaderLock)
                    throw new InvalidOperationException("lock mode can't upgraded:" + _lockMode);

                _lockCookie = _innerLock.UpgradeToWriterLock(_msTimeout);
                _lockMode = IICLockMode.UpdatedWriterLock;
        }