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)); }
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(); }