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
{