コード例 #1
0
        /// <summary>
        /// stop the server
        /// </summary>
        public void Stop()
        {
            // request thread be stopped
            _go = false;
            if (tl != null)
            {
                tl.Stop();
            }
            if (!_valid)
            {
                return;
            }

            try
            {
                // stop thread
                bw.CancelAsync();
                // release symbols
                foreach (Security sec in _mb)
                {
                    esig.ReleaseSymbol(sec.Symbol);
                }
            }
            catch (Exception ex)
            {
                if (GotDebug != null)
                {
                    GotDebug(DebugImpl.Create(ex.Message + ex.StackTrace, DebugLevel.Debug));
                }
            }
            // garbage collect esignal object
            esig = null;
        }
コード例 #2
0
ファイル: ServerSterling.cs プロジェクト: larytet/JQuant
 public void Stop()
 {
     try
     {
         _runbg = false;
         stiQuote.DeRegisterAllQuotes();
         stiBook   = null;
         stiOrder  = null;
         stiPos    = null;
         stiEvents = null;
         stiQuote  = null;
         if ((_bw.ThreadState != ThreadState.Aborted) || (_bw.ThreadState != ThreadState.Stopped))
         {
             try
             {
                 _bw.Abort();
             }
             catch { }
         }
     }
     catch (Exception ex)
     {
         debug(ex.Message + ex.StackTrace);
     }
     if (tl != null)
     {
         tl.Stop();
     }
 }
コード例 #3
0
 public void Stop()
 {
     try
     {
         _bwgo = false;
         string b = string.Empty;
         _cc.VBRevokeObject(ref b);
     }
     catch { }
     tl.Stop();
 }