You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against a952453888fb5df3c70edf357820bc924b4f3e7f.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From b29db29cb8eb0fa8ba0153438c777417f2b41387 Mon Sep 17 00:00:00 2001
|
||||
From 76e611ca640aeab6ff440d6bfad61e8b8e899093 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sun, 22 Nov 2020 20:51:10 -0600
|
||||
Subject: [PATCH] ntdll: Reimplement SRW locks on top of Win32 futexes.
|
||||
@@ -798,20 +798,21 @@ index 0262e50d980..968d636f86e 100644
|
||||
|
||||
static FORCEINLINE HANDLE WINAPI GetCurrentProcess(void)
|
||||
diff --git a/include/winnt.h b/include/winnt.h
|
||||
index ff1a6f4e90e..38f4f3e01a5 100644
|
||||
index 98233348cd6..a478aa5128a 100644
|
||||
--- a/include/winnt.h
|
||||
+++ b/include/winnt.h
|
||||
@@ -6910,7 +6910,9 @@ static inline BOOLEAN BitScanReverse(DWORD *index, DWORD mask)
|
||||
@@ -6910,8 +6910,10 @@ static inline BOOLEAN BitScanReverse(DWORD *index, DWORD mask)
|
||||
#pragma intrinsic(_InterlockedExchange)
|
||||
#pragma intrinsic(_InterlockedExchangeAdd)
|
||||
#pragma intrinsic(_InterlockedIncrement)
|
||||
+#pragma intrinsic(_InterlockedIncrement16)
|
||||
#pragma intrinsic(_InterlockedDecrement)
|
||||
#pragma intrinsic(_InterlockedOr)
|
||||
+#pragma intrinsic(_InterlockedDecrement16)
|
||||
|
||||
long _InterlockedCompareExchange(long volatile*,long,long);
|
||||
long long _InterlockedCompareExchange64(long long volatile*,long long,long long);
|
||||
@@ -6918,15 +6920,22 @@ long long _InterlockedCompareExchange64(long long volatile*,long long,long long)
|
||||
@@ -6919,16 +6921,23 @@ long long _InterlockedCompareExchange64(long long volatile*,long long,long long)
|
||||
unsigned char _InterlockedCompareExchange128(volatile __int64 *, __int64, __int64, __int64 *);
|
||||
#endif
|
||||
long _InterlockedDecrement(long volatile*);
|
||||
@@ -819,6 +820,7 @@ index ff1a6f4e90e..38f4f3e01a5 100644
|
||||
long _InterlockedExchange(long volatile*,long);
|
||||
long _InterlockedExchangeAdd(long volatile*,long);
|
||||
long _InterlockedIncrement(long volatile*);
|
||||
long _InterlockedOr(long volatile *,long);
|
||||
+short _InterlockedIncrement16(short volatile *);
|
||||
|
||||
static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
|
||||
@@ -834,8 +836,8 @@ index ff1a6f4e90e..38f4f3e01a5 100644
|
||||
static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
|
||||
{
|
||||
return _InterlockedCompareExchange64( (long long volatile *)dest, compare, xchg );
|
||||
@@ -6959,6 +6968,11 @@ static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
|
||||
return _InterlockedDecrement( (long volatile *)dest );
|
||||
@@ -6966,6 +6975,11 @@ static FORCEINLINE LONG WINAPI InterlockedOr( LONG volatile *dest, LONG val )
|
||||
return _InterlockedOr( (long volatile *)dest, val );
|
||||
}
|
||||
|
||||
+static FORCEINLINE short WINAPI InterlockedDecrement16( short volatile *dest )
|
||||
@@ -846,7 +848,7 @@ index ff1a6f4e90e..38f4f3e01a5 100644
|
||||
#ifndef __i386__
|
||||
|
||||
#pragma intrinsic(_InterlockedCompareExchangePointer)
|
||||
@@ -7040,11 +7054,21 @@ static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
|
||||
@@ -7092,11 +7106,21 @@ static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
|
||||
return __sync_add_and_fetch( dest, 1 );
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user