Exemplo n.º 1
0
 public void Exit()
 {
     try {
         CMonitor.Exit(mutex);
     }
     catch { }
 }
Exemplo n.º 2
0
 private void RestoreState()
 {
     CrestronLogger.DebugLevel = savedDebugLevel;
     CrestronLogger.LogOnlyCurrentDebugLevel = savedLogOnlyThisLevel;
     CrestronLogger.Mode = savedLoggerMode;
     CMonitor.Exit(lockObject);
 }
Exemplo n.º 3
0
 public ZKSignalTranslator(CMonitor monitor)
 {
     oldData      = new CMonData();
     this.monitor = monitor;
     monitor.RegMonitor(this);
     _examTOThread  = new Thread(new ThreadStart(ExamTimeOut));
     _stateTOThread = new Thread(new ThreadStart(StateTimeOut));
 }
Exemplo n.º 4
0
        internal byte IncrementSequenceNumber()
        {
            byte bret;

            CMonitor.Enter(_txsequenceNumberLock);
            bret = _txsequenceNumber++;
            CMonitor.Exit(_txsequenceNumberLock);
            return(bret);
        }
Exemplo n.º 5
0
 private void SetState()
 {
     CMonitor.Enter(lockObject);
     savedDebugLevel           = CrestronLogger.DebugLevel;
     savedLogOnlyThisLevel     = CrestronLogger.LogOnlyCurrentDebugLevel;
     savedLoggerMode           = CrestronLogger.Mode;
     CrestronLogger.DebugLevel = _debugLevel;
     CrestronLogger.LogOnlyCurrentDebugLevel = _logOnlyThisLevel;
     CrestronLogger.Mode = _loggerMode;
 }
Exemplo n.º 6
0
 /// <summary>
 /// Attempts to aquire a lock to access the section of code (non-blocking).
 /// (Note: You must check the returned LockToken in this case to ensure that
 /// the lock was actually aquired.)
 /// </summary>
 /// <returns>LockToken object</returns>
 public bool TryAquireLock(out LockToken lockToken)
 {
     if (CMonitor.TryEnter(_monitorObject))
     {
         lockToken = new LockToken(this);
         return(true);
     }
     lockToken = default(LockToken);
     return(false);
 }
Exemplo n.º 7
0
        /// <summary>
        /// Aquire a lock and return the LockToken when the lock is aquired.
        /// </summary>
        /// <param name="waitTime">Amount of time to wait to aquire the lock in milliseconds</param>
        /// <returns>LockToken object</returns>
        public LockToken AquireLock(int waitTime)
        {
            var sw = Stopwatch.StartNew();

            while (sw.ElapsedMilliseconds < waitTime)
            {
                if (CMonitor.TryEnter(_monitorObject))
                {
                    return(new LockToken(this));
                }

                _delayEvent.Wait(100);
            }
            return(new LockToken(null));
        }
Exemplo n.º 8
0
        private SocketErrorCodes SendDatagram(byte[] data, int len)
        {
            if (client == null)
            {
                return(SocketErrorCodes.SOCKET_NOT_CONNECTED);
            }

            CMonitor.Enter(_sendDatagramLock);
            SocketErrorCodes sret = client.SendData(data, len, remoteEndpoint);

            CMonitor.Exit(_sendDatagramLock);
            if (sret != SocketErrorCodes.SOCKET_OK)
            {
                ErrorLog.Error("SendDatagram: {0}", sret.ToString());
            }
            return(sret);
        }
Exemplo n.º 9
0
 internal void ResetSequenceNumber()
 {
     CMonitor.Enter(_txsequenceNumberLock);
     _txsequenceNumber = 0x00;
     CMonitor.Exit(_txsequenceNumberLock);
 }
Exemplo n.º 10
0
 internal void DecrementSingleSequenceNumber()
 {
     CMonitor.Enter(_txsequenceNumberLock);
     _txsequenceNumber--;
     CMonitor.Exit(_txsequenceNumberLock);
 }
Exemplo n.º 11
0
 public void Enter()
 {
     CMonitor.Enter(mutex);
 }
Exemplo n.º 12
0
 public void Exit()
 {
     CMonitor.Exit(mutex);
 }
Exemplo n.º 13
0
 public bool TryEnter()
 {
     return(CMonitor.TryEnter(mutex));
 }
Exemplo n.º 14
0
 /// <summary>
 /// Manually release the lock.
 /// (Note: This is done automatically when the LockToken is disposed)
 /// </summary>
 public void ReleaseLock()
 {
     CMonitor.Exit(_monitorObject);
 }
Exemplo n.º 15
0
 /// <summary>
 /// Aquire a lock and return the LockToken when the lock is aquired.
 /// </summary>
 /// <returns>LockToken object</returns>
 public LockToken AquireLock()
 {
     CMonitor.Enter(_monitorObject);
     return(new LockToken(this));
 }