From c58686343b1ff49473df8c962ff30eb91025a179 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Sun, 8 Jan 2017 13:25:17 -0500 Subject: Remove lazy initialization of Task.CompletedTask (#8846) Remove lazy initialization of Task.CompletedTask --- src/mscorlib/src/System/Threading/Tasks/Task.cs | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/mscorlib/src/System/Threading/Tasks/Task.cs b/src/mscorlib/src/System/Threading/Tasks/Task.cs index 24a57fae03..b385f06ed0 100644 --- a/src/mscorlib/src/System/Threading/Tasks/Task.cs +++ b/src/mscorlib/src/System/Threading/Tasks/Task.cs @@ -147,7 +147,6 @@ namespace System.Threading.Tasks private static StackGuard t_stackGuard; // The stack guard object for this thread internal static int s_taskIdCounter; //static counter used to generate unique task IDs - private readonly static TaskFactory s_factory = new TaskFactory(); private volatile int m_taskId; // this task's unique ID. initialized only if it is ever requested @@ -1615,23 +1614,10 @@ namespace System.Threading.Tasks /// of , as would result from using /// the default constructor on TaskFactory. /// - public static TaskFactory Factory { get { return s_factory; } } - - /// A task that's already been completed successfully. - private static Task s_completedTask; + public static TaskFactory Factory { get; } = new TaskFactory(); /// Gets a task that's already been completed successfully. - /// May not always return the same instance. - public static Task CompletedTask - { - get - { - var completedTask = s_completedTask; - if (completedTask == null) - s_completedTask = completedTask = new Task(false, (TaskCreationOptions)InternalTaskOptions.DoNotDispose, default(CancellationToken)); // benign initialization race condition - return completedTask; - } - } + public static Task CompletedTask { get; } = new Task(false, (TaskCreationOptions)InternalTaskOptions.DoNotDispose, default(CancellationToken)); /// /// Provides an event that can be used to wait for completion. -- cgit v1.2.3