Rebase against ae73e09a8d071eaa33fafe785e8295384b9e64a7.

This commit is contained in:
Alistair Leslie-Hughes
2022-11-22 10:32:11 +11:00
parent bf51996097
commit 3d15623eaf
17 changed files with 124 additions and 122 deletions

View File

@@ -1,4 +1,4 @@
From 4c255f91363e09892de43bf5f3b991ef5ccce3b2 Mon Sep 17 00:00:00 2001
From 06faa163af3dd5fa6e4794bf244c662533a88b69 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:16:34 -0500
Subject: [PATCH] ntdll: Implement NtReleaseSemaphore().
@@ -90,12 +90,12 @@ index a50a755149a..09838e95535 100644
/* We have to synchronize on the fd cache mutex so that our calls to receive_fd
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 72cbf92f93c..db992f3a9ad 100644
index fff4970549b..fbd28292524 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -348,6 +348,9 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, ULONG *previous
@@ -359,6 +359,9 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, ULONG *previous
{
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_release_semaphore( handle, count, previous );
@@ -104,5 +104,5 @@ index 72cbf92f93c..db992f3a9ad 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.33.0
2.38.1

View File

@@ -1,4 +1,4 @@
From bb4f401e45ff4017600e8037ceb69456c2c0171d Mon Sep 17 00:00:00 2001
From ff044319027197bb9a1f20a19f01d8c299835818 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 14:46:24 -0500
Subject: [PATCH] ntdll: Implement NtSetEvent().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtSetEvent().
3 files changed, 20 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index e440e9baa4a..b8fb27edf38 100644
index 059d7fd9ca6..410cfd3c2ce 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -316,6 +316,21 @@ NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access,
@@ -314,6 +314,21 @@ NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access,
return create_esync( type, handle, access, attr, initial, 0 );
}
@@ -48,15 +48,15 @@ index d9c7df967f8..b585af047ee 100644
extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any,
BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index f3ced2d63b6..686255d4d99 100644
index 7be736927b2..8e793941711 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -429,8 +429,12 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT
@@ -440,8 +440,12 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT
*/
NTSTATUS WINAPI NtSetEvent( HANDLE handle, LONG *prev_state )
{
+ /* This comment is a dummy to make sure this patch applies in the right place. */
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_set_event( handle );
@@ -65,5 +65,5 @@ index f3ced2d63b6..686255d4d99 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.29.2
2.38.1

View File

@@ -1,4 +1,4 @@
From 68e3e5a72ce9776371df909163ac40cb2a2aa887 Mon Sep 17 00:00:00 2001
From c1c004fcfb9d38086fd682e64aca7fd6aaad4cc9 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 14:51:21 -0500
Subject: [PATCH] ntdll: Implement NtResetEvent().
@@ -6,14 +6,14 @@ Subject: [PATCH] ntdll: Implement NtResetEvent().
---
dlls/ntdll/unix/esync.c | 15 +++++++++++++++
dlls/ntdll/unix/esync.h | 1 +
dlls/ntdll/unix/sync.c | 4 ++++
3 files changed, 20 insertions(+)
dlls/ntdll/unix/sync.c | 5 +++++
3 files changed, 21 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index b8fb27edf38..97d468b2449 100644
index 410cfd3c2ce..80eb3773ee4 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -331,6 +331,21 @@ NTSTATUS esync_set_event( HANDLE handle )
@@ -329,6 +329,21 @@ NTSTATUS esync_set_event( HANDLE handle )
return STATUS_SUCCESS;
}
@@ -48,22 +48,23 @@ index b585af047ee..8480a213b2a 100644
extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any,
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index bb36254acdc..b0f53d4677b 100644
index 8e793941711..f57a825872b 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -507,8 +507,12 @@ NTSTATUS WINAPI NtSetEvent( HANDLE handle, LONG *prev_state )
@@ -463,8 +463,13 @@ NTSTATUS WINAPI NtSetEvent( HANDLE handle, LONG *prev_state )
*/
NTSTATUS WINAPI NtResetEvent( HANDLE handle, LONG *prev_state )
{
+ /* This comment is a dummy to make sure this patch applies in the right place. */
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_reset_event( handle );
+
+
SERVER_START_REQ( event_op )
{
req->handle = wine_server_obj_handle( handle );
--
2.29.2
2.38.1

View File

@@ -1,4 +1,4 @@
From 5b4a4557f47415d9a78185a3be8b0a9d7d6bdc33 Mon Sep 17 00:00:00 2001
From 24a1dd64bee6e9140d6f05241c03f572bb464436 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:37:49 -0500
Subject: [PATCH] ntdll: Implement NtReleaseMutant().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtReleaseMutant().
3 files changed, 38 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index df9eb2696a1..48482a31ea2 100644
index 350b1ffb756..ded71e631f7 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -431,6 +431,40 @@ NTSTATUS esync_create_mutex( HANDLE *handle, ACCESS_MASK access,
@@ -424,6 +424,40 @@ NTSTATUS esync_create_mutex( HANDLE *handle, ACCESS_MASK access,
return create_esync( ESYNC_MUTEX, handle, access, attr, initial ? 0 : 1, 0 );
}
@@ -67,12 +67,12 @@ index 38ebefc9eed..e69c46ca462 100644
extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any,
BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 56292db271a..1a19bb78a9c 100644
index 2640320587e..620d013751f 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -648,6 +648,9 @@ NTSTATUS WINAPI NtReleaseMutant( HANDLE handle, LONG *prev_count )
@@ -609,6 +609,9 @@ NTSTATUS WINAPI NtReleaseMutant( HANDLE handle, LONG *prev_count )
{
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_release_mutex( handle, prev_count );
@@ -81,5 +81,5 @@ index 56292db271a..1a19bb78a9c 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.28.0
2.38.1

View File

@@ -1,4 +1,4 @@
From 7f04be3dd881287f1a74b7fe5829fa5917afa054 Mon Sep 17 00:00:00 2001
From fd251549dc6a59073937ba74b195f9dc7a892616 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:56:09 -0500
Subject: [PATCH] ntdll: Implement NtOpenSemaphore().
@@ -12,10 +12,10 @@ Subject: [PATCH] ntdll: Implement NtOpenSemaphore().
5 files changed, 96 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 6d8653cd107..8e7e50ce777 100644
index cdf5f602695..583afebb17c 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -336,6 +336,45 @@ static NTSTATUS create_esync( enum esync_type type, HANDLE *handle, ACCESS_MASK
@@ -329,6 +329,45 @@ static NTSTATUS create_esync( enum esync_type type, HANDLE *handle, ACCESS_MASK
return ret;
}
@@ -61,7 +61,7 @@ index 6d8653cd107..8e7e50ce777 100644
extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, LONG initial, LONG max)
{
@@ -345,6 +384,14 @@ extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
@@ -338,6 +377,14 @@ extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
return create_esync( ESYNC_SEMAPHORE, handle, access, attr, initial, max );
}
@@ -90,11 +90,11 @@ index bee08ff857f..2738e8b7f87 100644
extern NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access,
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index a51462abeac..36322f6afb6 100644
index ce3061a7f31..dd8ed16f868 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -353,6 +353,10 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC
NTSTATUS ret;
@@ -301,6 +301,10 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC
unsigned int ret;
*handle = 0;
+
@@ -105,10 +105,10 @@ index a51462abeac..36322f6afb6 100644
SERVER_START_REQ( open_semaphore )
diff --git a/server/esync.c b/server/esync.c
index 913104e3dd4..da97c6c140b 100644
index 3f1c61bc1f0..eca9b6aa67d 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -412,6 +412,37 @@ DECL_HANDLER(create_esync)
@@ -410,6 +410,37 @@ DECL_HANDLER(create_esync)
if (root) release_object( root );
}
@@ -147,10 +147,10 @@ index 913104e3dd4..da97c6c140b 100644
* server. The client should only read from (i.e. wait on) this object. */
DECL_HANDLER(get_esync_fd)
diff --git a/server/protocol.def b/server/protocol.def
index 776d3d72dc2..575cf291bb0 100644
index 40bdd8a70b4..acd90615cf7 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3750,6 +3750,18 @@ enum esync_type
@@ -3812,6 +3812,18 @@ enum esync_type
unsigned int shm_idx;
@END
@@ -170,5 +170,5 @@ index 776d3d72dc2..575cf291bb0 100644
@REQ(get_esync_fd)
obj_handle_t handle; /* handle to the object */
--
2.30.2
2.38.1

View File

@@ -1,4 +1,4 @@
From bb81fa475b3aa206fe1e8ff914d41de292aa9807 Mon Sep 17 00:00:00 2001
From 1d7cb4fe562903aa56abe64c97d0d84357b67f49 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 17:56:40 -0500
Subject: [PATCH] ntdll: Implement NtPulseEvent().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtPulseEvent().
3 files changed, 29 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 91a85253a83..d7511f39601 100644
index ff0210f3cd4..3a47b5aa39e 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -607,6 +607,31 @@ NTSTATUS esync_reset_event( HANDLE handle )
@@ -600,6 +600,31 @@ NTSTATUS esync_reset_event( HANDLE handle )
return STATUS_SUCCESS;
}
@@ -58,12 +58,12 @@ index 18788fa273b..188304f3be7 100644
extern NTSTATUS esync_reset_event( HANDLE handle ) DECLSPEC_HIDDEN;
extern NTSTATUS esync_set_event( HANDLE handle ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index acec96c0a3c..051c672bd12 100644
index 4c745b3b72e..4025a7a3a2f 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -549,6 +549,9 @@ NTSTATUS WINAPI NtPulseEvent( HANDLE handle, LONG *prev_state )
@@ -509,6 +509,9 @@ NTSTATUS WINAPI NtPulseEvent( HANDLE handle, LONG *prev_state )
{
NTSTATUS ret;
unsigned int ret;
+ if (do_esync())
+ return esync_pulse_event( handle );
@@ -72,5 +72,5 @@ index acec96c0a3c..051c672bd12 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.28.0
2.38.1