/// <summary> /// Dispose the queue. /// </summary> public void Dispose() { m_eventDelegator.Dispose(); m_writer.Dispose(); m_reader.Dispose(); m_dequeueMsg.Close(); }
/// <inheritdoc /> public void Dispose() { if (Interlocked.CompareExchange(ref m_isDisposed, 1, 0) != 0) { return; } m_actor.Dispose(); m_receiveEvent.Dispose(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <summary> /// </summary> public void Dispose() { m_actor.Dispose(); m_receiveEvent.Dispose(); }