From: Jan Kotas Date: Tue, 8 Oct 2019 18:33:47 +0000 (-0700) Subject: Disable finalization of bogus SafeWaitHandles (dotnet/corefx#41636) X-Git-Tag: submit/tizen/20210909.063632~11031^2~335 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d876c92bb4b38de00a392fc5b578b6902d87db01;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Disable finalization of bogus SafeWaitHandles (dotnet/corefx#41636) Fixes dotnet/corefx#41635 Commit migrated from https://github.com/dotnet/corefx/commit/72f5cff116fdfa71f44090281e091b0dcbc31f8f --- diff --git a/src/libraries/System.Runtime.Handles/tests/CriticalHandle.cs b/src/libraries/System.Runtime.Handles/tests/CriticalHandle.cs index f4e5162..09f91b5 100644 --- a/src/libraries/System.Runtime.Handles/tests/CriticalHandle.cs +++ b/src/libraries/System.Runtime.Handles/tests/CriticalHandle.cs @@ -6,7 +6,7 @@ using System; using System.Runtime.InteropServices; using Xunit; -public partial class CriticalHandle_4000_Tests +public partial class CriticalHandleTests { private class MyCriticalHandle : CriticalHandle { diff --git a/src/libraries/System.Runtime.Handles/tests/SafeHandle.cs b/src/libraries/System.Runtime.Handles/tests/SafeHandle.cs index ab530ad..d401999 100644 --- a/src/libraries/System.Runtime.Handles/tests/SafeHandle.cs +++ b/src/libraries/System.Runtime.Handles/tests/SafeHandle.cs @@ -6,7 +6,7 @@ using System; using System.Runtime.InteropServices; using Xunit; -public partial class SafeHandle_4000_Tests +public partial class SafeHandleTests { private class MySafeHandle : SafeHandle { diff --git a/src/libraries/System.Runtime.Handles/tests/SafeWaitHandle.cs b/src/libraries/System.Runtime.Handles/tests/SafeWaitHandle.cs index 365078f..81bf40a 100644 --- a/src/libraries/System.Runtime.Handles/tests/SafeWaitHandle.cs +++ b/src/libraries/System.Runtime.Handles/tests/SafeWaitHandle.cs @@ -6,7 +6,7 @@ using System; using Microsoft.Win32.SafeHandles; using Xunit; -public partial class SafeWaitHandle_4000_Tests +public partial class SafeWaitHandleTests { [Fact] public static void SafeWaitHandle_invalid() @@ -22,5 +22,8 @@ public partial class SafeWaitHandle_4000_Tests SafeWaitHandle swh = new SafeWaitHandle(new IntPtr(1), true); Assert.False(swh.IsClosed); Assert.False(swh.IsInvalid); + + // Prevent finalization. Closing of the bogus handle has unpredictable results. + swh.SetHandleAsInvalid(); } } diff --git a/src/libraries/System.Runtime.Handles/tests/SafeWaitHandleExtensions.cs b/src/libraries/System.Runtime.Handles/tests/SafeWaitHandleExtensions.cs index ad6fda6..99b5797 100644 --- a/src/libraries/System.Runtime.Handles/tests/SafeWaitHandleExtensions.cs +++ b/src/libraries/System.Runtime.Handles/tests/SafeWaitHandleExtensions.cs @@ -7,7 +7,7 @@ using System; using System.Threading; using Xunit; -public partial class SafeWaitHandleExtensions_4000_Tests +public partial class SafeWaitHandleExtensionsTests { public class MyWaitHandle : WaitHandle {