Пример #1
0
        /// <summary>
        /// Lock session
        /// </summary>
        /// <param name="session">VISA session to lock</param>
        /// <param name="lockResource">Use VISA resource lock if true</param>
        public SessionLocker(IMessageSession session, bool lockResource = false)
        {
            this.session      = session;
            this.lockResource = lockResource;
            var nestedLock = Monitor.IsEntered(session);

            Monitor.Enter(session);
            if (lockResource && !nestedLock)
            {
                session.LockResource();
            }
        }