Example #1
0
        public override void Destroy()
        {
            Debug.Assert(m_pipe == null);

            //  If there's still a pending linger timer, remove it.
            if (m_hasLingerTimer)
            {
                m_ioObject.CancelTimer(LingerTimerId);
                m_hasLingerTimer = false;
            }

            //  Close the engine.
            if (m_engine != null)
            {
                m_engine.Terminate();
            }
        }
Example #2
0
        protected override void ProcessTerm(int linger)
        {
            if (m_timerStarted)
            {
                m_ioObject.CancelTimer(ReconnectTimerId);
                m_timerStarted = false;
            }

            if (m_handleValid)
            {
                m_ioObject.RmFd(m_handle);
                m_handleValid = false;
            }

            if (m_s != null)
            {
                Close();
            }

            base.ProcessTerm(linger);
        }