Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
# Conflicts: # .github/workflows/codeql-analysis.yml # src/Umbraco.Core/CompositionExtensions.cs # src/Umbraco.Core/Constants-AppSettings.cs # src/Umbraco.Core/GuidUdi.cs # src/Umbraco.Core/Models/PublishedContent/IPublishedContent.cs # src/Umbraco.Core/PublishedContentExtensions.cs # src/Umbraco.Core/Routing/DefaultUrlProvider.cs # src/Umbraco.Core/Routing/UrlProvider.cs # src/Umbraco.Core/Routing/UrlProviderExtensions.cs # src/Umbraco.Core/Runtime/MainDom.cs # src/Umbraco.Core/Services/IRuntimeState.cs # src/Umbraco.Core/StringExtensions.cs # src/Umbraco.Core/Sync/ApplicationUrlHelper.cs # src/Umbraco.Core/Sync/DatabaseServerRegistrar.cs # src/Umbraco.Core/Sync/IServerRegistrar.cs # src/Umbraco.Infrastructure/Media/EmbedProviders/Instagram.cs # src/Umbraco.Infrastructure/Models/ContentBaseExtensions.cs # src/Umbraco.Infrastructure/PropertyEditors/NestedContentPropertyEditor.cs # src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/ImageCropperValue.cs # src/Umbraco.Tests/Misc/ApplicationUrlHelperTests.cs # src/Umbraco.Tests/Routing/UrlProviderTests.cs # src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs # src/Umbraco.Tests/TestHelpers/TestObjects.cs # src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml # src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml # src/Umbraco.Web/CompositionExtensions.cs # src/Umbraco.Web/HtmlHelperBackOfficeExtensions.cs # src/Umbraco.Web/ImageCropperTemplateExtensions.cs # src/Umbraco.Web/Models/Mapping/ContentMapDefinition.cs # src/Umbraco.Web/PropertyEditors/MultiUrlPickerPropertyEditor.cs # src/Umbraco.Web/PublishedContentExtensions.cs # src/Umbraco.Web/Runtime/WebInitialComponent.cs # src/Umbraco.Web/Runtime/WebInitialComposer.cs # src/Umbraco.Web/Templates/TemplateUtilities.cs # src/Umbraco.Web/UmbracoContext.cs # src/Umbraco.Web/UmbracoHelper.cs # src/Umbraco.Web/UmbracoInjectedModule.cs
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Threading;
|
||||
using Umbraco.Core.Hosting;
|
||||
using System.Threading.Tasks;
|
||||
using Umbraco.Core.Logging;
|
||||
|
||||
namespace Umbraco.Core.Runtime
|
||||
@@ -37,6 +38,9 @@ namespace Umbraco.Core.Runtime
|
||||
|
||||
private const int LockTimeoutMilliseconds = 40000; // 40 seconds
|
||||
|
||||
private Task _listenTask;
|
||||
private Task _listenCompleteTask;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Ctor
|
||||
@@ -172,7 +176,13 @@ namespace Umbraco.Core.Runtime
|
||||
try
|
||||
{
|
||||
// Listen for the signal from another AppDomain coming online to release the lock
|
||||
_mainDomLock.ListenAsync().ContinueWith(_ => OnSignal("signal"));
|
||||
_listenTask = _mainDomLock.ListenAsync();
|
||||
_listenCompleteTask = _listenTask.ContinueWith(t =>
|
||||
{
|
||||
_logger.Debug<MainDom>("Listening task completed with {TaskStatus}", _listenTask.Status);
|
||||
|
||||
OnSignal("signal");
|
||||
}, TaskScheduler.Default); // Must explicitly specify this, see https://blog.stephencleary.com/2013/10/continuewith-is-dangerous-too.html
|
||||
}
|
||||
catch (OperationCanceledException ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user