From 3305b9fbfd081be683a57dbf197ae3f25d945aa4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 04:34:24 +0000 Subject: [PATCH 1/2] Update dependency Microsoft.Windows.CsWin32 to 0.3.162 --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 7a407cdc..91846e5c 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -31,7 +31,7 @@ - + From 15cfcdb5b9f8fd931b206029f9439aac27ba16b5 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Thu, 6 Feb 2025 07:27:25 -0700 Subject: [PATCH 2/2] Compensate for CsWin32 HANDLE type change --- .../NoMessagePumpSyncContext.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.VisualStudio.Threading/NoMessagePumpSyncContext.cs b/src/Microsoft.VisualStudio.Threading/NoMessagePumpSyncContext.cs index 5d1f1b58..feea9a50 100644 --- a/src/Microsoft.VisualStudio.Threading/NoMessagePumpSyncContext.cs +++ b/src/Microsoft.VisualStudio.Threading/NoMessagePumpSyncContext.cs @@ -47,7 +47,7 @@ public static SynchronizationContext Default /// /// The array index of the object that satisfied the wait. /// - public override int Wait(IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout) + public override unsafe int Wait(IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout) { Requires.NotNull(waitHandles, nameof(waitHandles)); @@ -61,7 +61,10 @@ public override int Wait(IntPtr[] waitHandles, bool waitAll, int millisecondsTim if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) #endif { - return (int)PInvoke.WaitForMultipleObjects(MemoryMarshal.Cast(waitHandles), waitAll, (uint)millisecondsTimeout); + fixed (IntPtr* pHandles = waitHandles) + { + return (int)PInvoke.WaitForMultipleObjects((uint)waitHandles.Length, (HANDLE*)pHandles, waitAll, (uint)millisecondsTimeout); + } } else {