예제 #1
0
 /// <summary>
 /// Dispose the queue.
 /// </summary>
 public void Dispose()
 {
     m_eventDelegator.Dispose();
     m_writer.Dispose();
     m_reader.Dispose();
     m_dequeueMsg.Close();
 }
예제 #2
0
파일: NetMQBeacon.cs 프로젝트: r618/netmq
 /// <inheritdoc />
 public void Dispose()
 {
     if (Interlocked.CompareExchange(ref m_isDisposed, 1, 0) != 0)
     {
         return;
     }
     m_actor.Dispose();
     m_receiveEvent.Dispose();
 }
예제 #3
0
        /// <summary>
        /// Release any contained resources.
        /// </summary>
        /// <param name="disposing">true if managed resources are to be released</param>
        protected virtual void Dispose(bool disposing)
        {
            if (!disposing)
            {
                return;
            }

            m_actor.Dispose();
            m_receiveEvent.Dispose();
        }
예제 #4
0
        /// <summary>
        /// Release any contained resources.
        /// </summary>
        /// <param name="disposing">true if managed resources are to be released</param>
        protected virtual void Dispose(bool disposing)
        {
            if (!disposing)
            {
                return;
            }

            // send destroy message to pipe
            if (m_self.TrySendFrame(EndShimMessage))
            {
                m_self.ReceiveSignal();
            }

            m_shimThread.Join();
            m_self.Dispose();
            m_sendEvent.Dispose();
            m_receiveEvent.Dispose();
        }
예제 #5
0
        /// <summary>
        /// Release any contained resources.
        /// </summary>
        /// <param name="disposing">true if managed resources are to be released</param>
        protected virtual void Dispose(bool disposing)
        {
            if (Interlocked.CompareExchange(ref m_isDisposed, 1, 0) != 0)
            {
                return;
            }
            if (!disposing)
            {
                return;
            }

            // send destroy message to pipe
            if (m_self.TrySendFrame(EndShimMessage))
            {
                m_self.ReceiveSignal();
            }

            m_shimThread.Join();
            m_self.Dispose();
            m_sendEvent.Dispose();
            m_receiveEvent.Dispose();
        }
예제 #6
0
        /// <summary>
        /// Release any contained resources.
        /// </summary>
        /// <param name="disposing">true if managed resources are to be released</param>
        protected virtual void Dispose(bool disposing)
        {
            if (!disposing)
            {
                return;
            }

            // send destroy message to pipe
            m_self.Options.SendTimeout = TimeSpan.Zero;
            try
            {
                m_self.Send(EndShimMessage);
                m_self.ReceiveSignal();
            }
            catch (AgainException)
            {}

            m_shimThread.Join();
            m_self.Dispose();
            m_sendEvent.Dispose();
            m_receiveEvent.Dispose();
        }
예제 #7
0
 /// <summary>
 /// </summary>
 public void Dispose()
 {
     m_actor.Dispose();
     m_receiveEvent.Dispose();
 }