コード例 #1
0
        private void EndWork()
        {
            //_debugLogger.GetLogger(1).Log("EndWork called", new StackTrace(true));
            _backWorkerStoppable.StopAsync();
            //_debugLogger.GetLogger(1).Log("backworker stopasync was called", new StackTrace(true));

            _backWorkerStoppable.WaitStopComplete();
            //_debugLogger.GetLogger(1).Log("backworker has been stopped", new StackTrace(true));
        }
コード例 #2
0
        private void EndWork()
        {
            //_debugLogger.GetLogger(1).Log("EndWork called", new StackTrace());
            var portCloseWaiter = new ManualResetEvent(false);

            _backWorker.AddWork(() =>
            {
                //_debugLogger.GetLogger(4).Log("Closing port...", new StackTrace());
                _serialPort.Close();
                //_debugLogger.GetLogger(4).Log("Port was closed", new StackTrace());
                portCloseWaiter.Set();
            });
            _backWorkerStoppable.StopAsync();
            _backWorkerStoppable.WaitStopComplete();
            portCloseWaiter.Dispose();
        }