Catch all exceptions from Exit shutdown (master). (#12522)

This commit is contained in:
Justin Kotalik 2019-07-24 14:56:04 -07:00 committed by GitHub
parent 34903da1e9
commit 69feac2633
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 8 deletions

View File

@ -62,19 +62,21 @@ namespace Microsoft.AspNetCore.Hosting
private void Shutdown()
{
if (!_cts.IsCancellationRequested)
try
{
if (!string.IsNullOrEmpty(_shutdownMessage))
{
Console.WriteLine(_shutdownMessage);
}
try
if (!_cts.IsCancellationRequested)
{
if (!string.IsNullOrEmpty(_shutdownMessage))
{
Console.WriteLine(_shutdownMessage);
}
_cts.Cancel();
}
catch (ObjectDisposedException) { }
}
// When hosting with IIS in-process, we detach the Console handle on main thread exit.
// Console.WriteLine may throw here as we are logging to console on ProcessExit.
// We catch and ignore all exceptions here. Do not log to Console in thie exception handler.
catch (Exception) {}
// Wait on the given reset event
_resetEvent.Wait();
}