/// <summary> /// Stop the application. /// </summary> /// <param name="reason"></param> public void Stop(string reason) { // Since there may be a race condition around stopping the runner, check if it should be stopped // within a lock statement bool stopRunner = false; lock (lockObject) { if (!isStopping) { stopRunner = true; isStopping = true; } } if (stopRunner) { // Perform the actual stop Log.Info("Stopping console: " + reason); try { runner.Stop(); } catch (RemotingException) { // Sometimes this exception gets thrown and not sure why. } } }
private void StopAppRunner(string reason) { try { Log.Info("Stopping console: " + reason); runner.Stop(); } catch (RemotingException) { // Sometimes this exception gets thrown and not sure why. } }