Logger.Fatal(exception.Message+". This can happen if another instance of Sonarr is already running another application is using the same port (default: 8989) or the user has insufficient permissions");
System.Console.WriteLine("Press enter to exit...");
System.Console.ReadLine();
Environment.Exit(1);
Logger.Fatal(ex,"EPIC FAIL!");
Exit(ExitCodes.NonRecoverableFailure);
}
catch(Exception e)
catch(SocketExceptionex)
{
System.Console.WriteLine("");
System.Console.WriteLine("");
Logger.Fatal(e,"EPIC FAIL!");
System.Console.WriteLine("Press enter to exit...");
System.Console.ReadLine();
Environment.Exit(1);
Logger.Fatal(ex.Message+". This can happen if another instance of Sonarr is already running another application is using the same port (default: 8989) or the user has insufficient permissions");
Exit(ExitCodes.RecoverableFailure);
}
catch(Exceptionex)
{
System.Console.WriteLine("");
System.Console.WriteLine("");
Logger.Fatal(ex,"EPIC FAIL!");
Exit(ExitCodes.UnknownFailure);
}
Logger.Info("Exiting main.");
Exit(ExitCodes.Normal);
}
privatestaticvoidExit(ExitCodesexitCode)
{
LogManager.Flush();
if(exitCode!=ExitCodes.Normal)
{
System.Console.WriteLine("Press enter to exit...");
System.Threading.Thread.Sleep(1000);
if(exitCode==ExitCodes.NonRecoverableFailure)
{
System.Console.WriteLine("Non-recoverable failure, waiting for user intervention...");
for(inti=0;i<3600;i++)
{
System.Threading.Thread.Sleep(1000);
if(System.Console.KeyAvailable)break;
}
}
// Please note that ReadLine silently succeeds if there is no console, KeyAvailable does not.