示例#1
0
 internal void CancelSend(Node node)
 {
     lock (m_scheduledSends)
     {
         if (m_scheduledSends.Contains(node))
         {
             m_scheduledSends.Remove(node);
             Portable.WaitOne(m_scheduleSem, Timeout.Infinite);
         }
     }
 }
示例#2
0
        public void Stop()
        {
            Logging.Trace(TraceEventType.Information, "Stopping bus dispatcher");

            m_stopEvent.Set();
            m_dispatchThread.Join();
            m_port.Close();

            m_scheduledSends.Clear();
            m_nodes.Clear();

            while (Portable.WaitOne(m_scheduleSem, 0))
            {
                ;
            }
        }