Rebase against a5f787ac445a682ea7ced5dd78c3516d4b8b9311.

This commit is contained in:
Alistair Leslie-Hughes
2021-07-24 10:32:46 +10:00
parent b57bf86ec0
commit dc38777093
9 changed files with 53 additions and 51 deletions

View File

@@ -1,4 +1,4 @@
From 70c7589e029a19a3b048cdf5c222fb36e489ba69 Mon Sep 17 00:00:00 2001
From 4af235c5bc5797cae39578991b302b47052afcbb Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 14:40:43 -0500
Subject: [PATCH] ntdll, server: Implement NtCreateEvent().
@@ -77,12 +77,12 @@ index 87516e7597a..d9c7df967f8 100644
BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 1abc691811b..de4c75afcea 100644
index f5be91e09d4..b54874b5d3d 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -435,6 +435,10 @@ NTSTATUS WINAPI NtCreateEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_
struct object_attributes *objattr;
@@ -440,6 +440,10 @@ NTSTATUS WINAPI NtCreateEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_
*handle = 0;
if (type != NotificationEvent && type != SynchronizationEvent) return STATUS_INVALID_PARAMETER;
+
+ if (do_esync())
@@ -92,7 +92,7 @@ index 1abc691811b..de4c75afcea 100644
SERVER_START_REQ( create_event )
diff --git a/server/esync.c b/server/esync.c
index 226e70cd1ad..b9e0a455629 100644
index e41bbbf9349..f89f29150ea 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -203,6 +203,13 @@ struct semaphore
@@ -125,5 +125,5 @@ index 226e70cd1ad..b9e0a455629 100644
assert( 0 );
}
--
2.29.2
2.30.2

View File

@@ -1,4 +1,4 @@
From 8770d44fb2cdaf01cfd74321712b3b63a2906e31 Mon Sep 17 00:00:00 2001
From 1496c3a96452deeb4ca687bc61e2125bc82fff71 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:34:56 -0500
Subject: [PATCH] ntdll, server: Implement NtCreateMutant().
@@ -6,9 +6,9 @@ Subject: [PATCH] ntdll, server: Implement NtCreateMutant().
---
dlls/ntdll/unix/esync.c | 16 ++++++++++++++++
dlls/ntdll/unix/esync.h | 3 +++
dlls/ntdll/unix/sync.c | 3 +++
dlls/ntdll/unix/sync.c | 4 ++++
server/esync.c | 14 ++++++++++++++
4 files changed, 36 insertions(+)
4 files changed, 37 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 88490e08ef9..df9eb2696a1 100644
@@ -59,13 +59,14 @@ index 8480a213b2a..38ebefc9eed 100644
BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 1d2e831964f..56292db271a 100644
index 47ab533d5c7..7e492320cee 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -597,6 +597,9 @@ NTSTATUS WINAPI NtCreateMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT
data_size_t len;
@@ -608,6 +608,10 @@ NTSTATUS WINAPI NtCreateMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT
struct object_attributes *objattr;
*handle = 0;
+
+ if (do_esync())
+ return esync_create_mutex( handle, access, attr, owned );
+
@@ -73,7 +74,7 @@ index 1d2e831964f..56292db271a 100644
SERVER_START_REQ( create_mutex )
diff --git a/server/esync.c b/server/esync.c
index ddee22432e5..12911fccb6a 100644
index ac59779a454..913104e3dd4 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -204,6 +204,13 @@ struct semaphore
@@ -105,5 +106,5 @@ index ddee22432e5..12911fccb6a 100644
assert( 0 );
}
--
2.28.0
2.30.2

View File

@@ -1,4 +1,4 @@
From a934f314a164256748e2e9764343504f7cf8050b Mon Sep 17 00:00:00 2001
From 7f04be3dd881287f1a74b7fe5829fa5917afa054 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().
@@ -6,10 +6,10 @@ Subject: [PATCH] ntdll: Implement NtOpenSemaphore().
---
dlls/ntdll/unix/esync.c | 47 +++++++++++++++++++++++++++++++++++++++++
dlls/ntdll/unix/esync.h | 2 ++
dlls/ntdll/unix/sync.c | 3 +++
dlls/ntdll/unix/sync.c | 4 ++++
server/esync.c | 31 +++++++++++++++++++++++++++
server/protocol.def | 12 +++++++++++
5 files changed, 95 insertions(+)
5 files changed, 96 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 6d8653cd107..8e7e50ce777 100644
@@ -90,13 +90,14 @@ 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 64f96a32ccf..35f2ac95d36 100644
index a51462abeac..36322f6afb6 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -349,6 +349,9 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC
{
@@ -353,6 +353,10 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC
NTSTATUS ret;
*handle = 0;
+
+ if (do_esync())
+ return esync_open_semaphore( handle, access, attr );
+
@@ -104,7 +105,7 @@ index 64f96a32ccf..35f2ac95d36 100644
SERVER_START_REQ( open_semaphore )
diff --git a/server/esync.c b/server/esync.c
index 12911fccb6a..1703608263f 100644
index 913104e3dd4..da97c6c140b 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -412,6 +412,37 @@ DECL_HANDLER(create_esync)
@@ -146,10 +147,10 @@ index 12911fccb6a..1703608263f 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 789bc56e7f1..5b8f66ffd80 100644
index 776d3d72dc2..575cf291bb0 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3690,6 +3690,18 @@ enum esync_type
@@ -3750,6 +3750,18 @@ enum esync_type
unsigned int shm_idx;
@END
@@ -169,5 +170,5 @@ index 789bc56e7f1..5b8f66ffd80 100644
@REQ(get_esync_fd)
obj_handle_t handle; /* handle to the object */
--
2.28.0
2.30.2

View File

@@ -1,4 +1,4 @@
From 9898e1c47bdba4bda336b9c17a20d34d68e66215 Mon Sep 17 00:00:00 2001
From 96393a0cd6acfcb87d11488e726d4e294e646c4f Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:58:19 -0500
Subject: [PATCH] ntdll: Implement NtOpenEvent().
@@ -42,11 +42,11 @@ index 2738e8b7f87..da1b72d4413 100644
extern NTSTATUS esync_set_event( HANDLE handle ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 35f2ac95d36..9296b172f88 100644
index 36322f6afb6..6bc8200f46b 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -467,6 +467,9 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT
@@ -476,6 +476,9 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT
*handle = 0;
if ((ret = validate_open_object_attributes( attr ))) return ret;
+ if (do_esync())
@@ -56,5 +56,5 @@ index 35f2ac95d36..9296b172f88 100644
{
req->access = access;
--
2.28.0
2.30.2

View File

@@ -1,4 +1,4 @@
From 7f91f35e896ffb63409c1d1a619565f35a65ef7f Mon Sep 17 00:00:00 2001
From 995f2ecab37c47bb3112d11ce2313d37711965ca Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:59:35 -0500
Subject: [PATCH] ntdll: Implement NtOpenMutant().
@@ -42,11 +42,11 @@ index da1b72d4413..cb48e2cd022 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 9296b172f88..4a97cdd32fd 100644
index 6bc8200f46b..c1c57caab40 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -632,6 +632,9 @@ NTSTATUS WINAPI NtOpenMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT_A
@@ -646,6 +646,9 @@ NTSTATUS WINAPI NtOpenMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT_A
*handle = 0;
if ((ret = validate_open_object_attributes( attr ))) return ret;
+ if (do_esync())
@@ -56,5 +56,5 @@ index 9296b172f88..4a97cdd32fd 100644
{
req->access = access;
--
2.28.0
2.30.2