private void Shutdown()
        {
            _logger.Debug("Waiting for all threads to finish");
            _threadManager.WaitForThreads();

            _pipeServerManager.PrepareShutdown();

            _threadManager.Shutdown();

            _settingsManager.SaveCurrentSettings();

            _pipeServerManager.Shutdown();
        }
Exemple #2
0
        private async Task Shutdown()
        {
            _logger.Debug("Waiting for all threads to finish");
            await _threadManager.WaitForThreads();

            _pipeServerManager.PrepareShutdown();

            _threadManager.Shutdown();

            _settingsManager.SaveCurrentSettings();
            _jobHistoryActiveRecord.Save();

            _pipeServerManager.Shutdown();
        }
        public void ValidateShutdownSequence()
        {
            var starter = BuildMaybePipedApplicationStarter(0);

            starter.SendMessageOrStartApplication(() => "", () => false, false);

            Received.InOrder(() =>
            {
                _settingsManager.LoadAllSettings();
                _threadManager.WaitForThreads();
                _pipeServerManager.PrepareShutdown();
                _threadManager.Shutdown();
                _settingsManager.SaveCurrentSettings();
                _pipeServerManager.Shutdown();
            });
        }