You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-12-15 08:03:15 -08:00
Rebase against cfbbde2abce1eedc7f53db3f8af8078fe4a11cac.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
From 3606a80ff21447e459950899b409416873722031 Mon Sep 17 00:00:00 2001
|
||||
From d8919e4d3790e738ec0cb09907609f4fde8f29e7 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 23:00:16 -0500
|
||||
Subject: [PATCH 04/13] ntdll: Implement NtAlertThreadByThreadId() and
|
||||
Subject: [PATCH] ntdll: Implement NtAlertThreadByThreadId() and
|
||||
NtWaitForAlertByThreadId().
|
||||
|
||||
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
@@ -12,10 +12,11 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
dlls/ntdll/unix/unix_private.h | 3 +++
|
||||
dlls/ntdll/unix/virtual.c | 5 ++--
|
||||
include/winternl.h | 2 ++
|
||||
6 files changed, 57 insertions(+), 2 deletions(-)
|
||||
server/thread.c | 2 +-
|
||||
7 files changed, 58 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index f5ac924a945..c63b7a3e5fe 100644
|
||||
index 0a2c2493334..c4a21991562 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -137,6 +137,7 @@
|
||||
@@ -26,19 +27,19 @@ index f5ac924a945..c63b7a3e5fe 100644
|
||||
@ stdcall -syscall NtAllocateLocallyUniqueId(ptr)
|
||||
# @ stub NtAllocateUserPhysicalPages
|
||||
@ stdcall -syscall NtAllocateUuids(ptr ptr ptr ptr)
|
||||
@@ -422,6 +423,7 @@
|
||||
@ stdcall -syscall NtUnmapViewOfSection(long ptr)
|
||||
@@ -423,6 +424,7 @@
|
||||
@ stub NtVdmControl
|
||||
@ stub NtW32Call
|
||||
@ stdcall -syscall NtWaitForDebugEvent(long long ptr ptr)
|
||||
+@ stdcall -syscall NtWaitForAlertByThreadId(ptr ptr)
|
||||
# @ stub NtWaitForDebugEvent
|
||||
@ stdcall -syscall NtWaitForKeyedEvent(long ptr long ptr)
|
||||
@ stdcall -syscall NtWaitForMultipleObjects(long ptr long long ptr)
|
||||
@ stub NtWaitForProcessMutant
|
||||
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
|
||||
index dcc8c5447ef..2ed164368b9 100644
|
||||
index 32ee7a52b99..587f0858600 100644
|
||||
--- a/dlls/ntdll/unix/sync.c
|
||||
+++ b/dlls/ntdll/unix/sync.c
|
||||
@@ -81,6 +81,12 @@ static const LARGE_INTEGER zero_timeout;
|
||||
@@ -82,6 +82,12 @@ static const LARGE_INTEGER zero_timeout;
|
||||
|
||||
static pthread_mutex_t addr_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
@@ -51,7 +52,7 @@ index dcc8c5447ef..2ed164368b9 100644
|
||||
/* return a monotonic time counter, in Win32 ticks */
|
||||
static inline ULONGLONG monotonic_counter(void)
|
||||
{
|
||||
@@ -2119,6 +2125,45 @@ NTSTATUS WINAPI NtQueryInformationAtom( RTL_ATOM atom, ATOM_INFORMATION_CLASS cl
|
||||
@@ -2336,6 +2342,45 @@ NTSTATUS WINAPI NtQueryInformationAtom( RTL_ATOM atom, ATOM_INFORMATION_CLASS cl
|
||||
}
|
||||
|
||||
|
||||
@@ -111,10 +112,10 @@ index 9808fc610e3..bb55b3d29ed 100644
|
||||
pthread_attr_setstack( &pthread_attr, teb->DeallocationStack,
|
||||
(char *)teb->Tib.StackBase + extra_stack - (char *)teb->DeallocationStack );
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 23731f0fdc6..9ae7cba34a7 100644
|
||||
index 68a24d97cfd..1880ce51b6e 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -57,6 +57,7 @@ struct ntdll_thread_data
|
||||
@@ -59,6 +59,7 @@ struct ntdll_thread_data
|
||||
struct list entry; /* entry in TEB list */
|
||||
PRTL_THREAD_START_ROUTINE start; /* thread entry point */
|
||||
void *param; /* thread entry point parameter */
|
||||
@@ -122,7 +123,7 @@ index 23731f0fdc6..9ae7cba34a7 100644
|
||||
};
|
||||
|
||||
C_ASSERT( sizeof(struct ntdll_thread_data) <= sizeof(((TEB *)0)->GdiTebBatch) );
|
||||
@@ -113,6 +114,8 @@ extern NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT
|
||||
@@ -115,6 +116,8 @@ extern NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT
|
||||
|
||||
extern void CDECL set_show_dot_files( BOOL enable ) DECLSPEC_HIDDEN;
|
||||
|
||||
@@ -132,10 +133,10 @@ index 23731f0fdc6..9ae7cba34a7 100644
|
||||
extern const char *data_dir DECLSPEC_HIDDEN;
|
||||
extern const char *build_dir DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index 2e5e94f80f8..96650e064c3 100644
|
||||
index 34eadfd3d37..a136390c994 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -162,8 +162,9 @@ struct _KUSER_SHARED_DATA *user_shared_data = (void *)0x7ffe0000;
|
||||
@@ -164,8 +164,9 @@ struct _KUSER_SHARED_DATA *user_shared_data = (void *)0x7ffe0000;
|
||||
static void *teb_block;
|
||||
static void **next_free_teb;
|
||||
static int teb_block_pos;
|
||||
@@ -148,10 +149,10 @@ index 2e5e94f80f8..96650e064c3 100644
|
||||
#define ROUND_ADDR(addr,mask) ((void *)((UINT_PTR)(addr) & ~(UINT_PTR)(mask)))
|
||||
#define ROUND_SIZE(addr,size) (((SIZE_T)(size) + ((UINT_PTR)(addr) & page_mask) + page_mask) & ~page_mask)
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index a7b0e04aade..b155b4e39b2 100644
|
||||
index 4d8b5841d17..a388e9e7741 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -3040,6 +3040,7 @@ NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken(HANDLE,BOOLEAN,PTOKEN_GROUPS,ULONG
|
||||
@@ -3213,6 +3213,7 @@ NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken(HANDLE,BOOLEAN,PTOKEN_GROUPS,ULONG
|
||||
NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAlertResumeThread(HANDLE,PULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAlertThread(HANDLE ThreadHandle);
|
||||
@@ -159,10 +160,10 @@ index a7b0e04aade..b155b4e39b2 100644
|
||||
NTSYSAPI NTSTATUS WINAPI NtAllocateLocallyUniqueId(PLUID lpLuid);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAllocateUuids(PULARGE_INTEGER,PULONG,PULONG,PUCHAR);
|
||||
NTSYSAPI NTSTATUS WINAPI NtAllocateVirtualMemory(HANDLE,PVOID*,ULONG_PTR,SIZE_T*,ULONG,ULONG);
|
||||
@@ -3272,6 +3273,7 @@ NTSYSAPI NTSTATUS WINAPI NtUnlockFile(HANDLE,PIO_STATUS_BLOCK,PLARGE_INTEGER,PL
|
||||
NTSYSAPI NTSTATUS WINAPI NtUnlockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
|
||||
@@ -3451,6 +3452,7 @@ NTSYSAPI NTSTATUS WINAPI NtUnlockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI NtUnmapViewOfSection(HANDLE,PVOID);
|
||||
NTSYSAPI NTSTATUS WINAPI NtVdmControl(ULONG,PVOID);
|
||||
NTSYSAPI NTSTATUS WINAPI NtWaitForDebugEvent(HANDLE,BOOLEAN,LARGE_INTEGER*,DBGUI_WAIT_STATE_CHANGE*);
|
||||
+NTSYSAPI NTSTATUS WINAPI NtWaitForAlertByThreadId(const void*,const LARGE_INTEGER*);
|
||||
NTSYSAPI NTSTATUS WINAPI NtWaitForKeyedEvent(HANDLE,const void*,BOOLEAN,const LARGE_INTEGER*);
|
||||
NTSYSAPI NTSTATUS WINAPI NtWaitForSingleObject(HANDLE,BOOLEAN,const LARGE_INTEGER*);
|
||||
|
||||
Reference in New Issue
Block a user