Rebase against 3bb824f98891e8eb907c9c652fe528373a17b10d.

This commit is contained in:
Zebediah Figura
2020-05-18 17:57:40 -05:00
parent 68f3e40ff7
commit 0a85e3f331
10 changed files with 88 additions and 74 deletions

View File

@@ -1,4 +1,4 @@
From f7855379ad40d50af6d63a8e7349504ece2f3464 Mon Sep 17 00:00:00 2001
From 54fe35bdc5ca494daf2b54d49e61995bfa36202f Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Tue, 12 Jun 2018 10:01:08 -0500
Subject: [PATCH] ntdll, wineandroid.drv, winemac.drv, winex11.drv: Store the
@@ -18,7 +18,7 @@ In any case I haven't bothered to guard this code with do_esync(); it'd require
7 files changed, 20 insertions(+)
diff --git a/dlls/ntdll/esync.c b/dlls/ntdll/esync.c
index c53818b5485..5d8dbac2df4 100644
index ea7517d3f1d..94838d32213 100644
--- a/dlls/ntdll/esync.c
+++ b/dlls/ntdll/esync.c
@@ -74,6 +74,12 @@ int do_esync(void)
@@ -35,10 +35,10 @@ index c53818b5485..5d8dbac2df4 100644
{
ESYNC_SEMAPHORE = 1,
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 3e7327211b3..784635a53c8 100644
index ae3814be559..a4c44ae88e6 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1555,6 +1555,8 @@
@@ -1567,6 +1567,8 @@
# All functions must be prefixed with '__wine_' (for internal functions)
# or 'wine_' (for user-visible functions) to avoid namespace conflicts.
@@ -48,7 +48,7 @@ index 3e7327211b3..784635a53c8 100644
@ cdecl -norelay wine_server_call(ptr)
@ cdecl wine_server_close_fds_by_type(long)
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 98caabbf8e8..8e07b148c88 100644
index e150d2a9d9c..e09528c4cc1 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -270,6 +270,7 @@ struct debug_info
@@ -60,18 +60,18 @@ index 98caabbf8e8..8e07b148c88 100644
int request_fd; /* fd for sending server requests */
int reply_fd; /* fd for receiving server replies */
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index cbbdafb2e97..688f16eb528 100644
index 17a77498074..92001e64c71 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -345,6 +345,7 @@ TEB *thread_init(void)
@@ -438,6 +438,7 @@ TEB *thread_init(void)
thread_data->reply_fd = -1;
thread_data->wait_fd[0] = -1;
thread_data->wait_fd[1] = -1;
+ thread_data->esync_queue_fd = -1;
debug_init();
unix_funcs->dbg_init();
init_paths();
@@ -718,6 +719,7 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT
@@ -745,6 +746,7 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT
thread_data->wait_fd[0] = -1;
thread_data->wait_fd[1] = -1;
thread_data->start_stack = (char *)teb->Tib.StackBase;

View File

@@ -1,4 +1,4 @@
From ef25a40d4d6e2676ff66347297f96ca0c7a59460 Mon Sep 17 00:00:00 2001
From 352d6aa96eb3e19acb61ad4942c86810a321c755 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Fri, 15 Jun 2018 14:12:22 -0500
Subject: [PATCH] server, ntdll: Implement alertable waits.
@@ -16,7 +16,7 @@ We do this quite simply by waiting on an extra eventfd descriptor, which the ser
8 files changed, 121 insertions(+), 17 deletions(-)
diff --git a/dlls/ntdll/esync.c b/dlls/ntdll/esync.c
index d177bb47989..6f41c5e030b 100644
index 7504f9b2931..15f99239fe9 100644
--- a/dlls/ntdll/esync.c
+++ b/dlls/ntdll/esync.c
@@ -684,19 +684,43 @@ static int do_poll( struct pollfd *fds, nfds_t nfds, ULONGLONG *end )
@@ -196,7 +196,7 @@ index d177bb47989..6f41c5e030b 100644
NTSTATUS esync_signal_and_wait( HANDLE signal, HANDLE wait, BOOLEAN alertable,
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 8e07b148c88..8ba11bcf94c 100644
index e09528c4cc1..2a6ce77e6fd 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -271,6 +271,7 @@ struct ntdll_thread_data
@@ -208,18 +208,18 @@ index 8e07b148c88..8ba11bcf94c 100644
int request_fd; /* fd for sending server requests */
int reply_fd; /* fd for receiving server replies */
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 688f16eb528..391c3b62ee3 100644
index 92001e64c71..e0d646d6020 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -346,6 +346,7 @@ TEB *thread_init(void)
@@ -439,6 +439,7 @@ TEB *thread_init(void)
thread_data->wait_fd[0] = -1;
thread_data->wait_fd[1] = -1;
thread_data->esync_queue_fd = -1;
+ thread_data->esync_apc_fd = -1;
debug_init();
unix_funcs->dbg_init();
init_paths();
@@ -720,6 +721,7 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT
@@ -747,6 +748,7 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT
thread_data->wait_fd[1] = -1;
thread_data->start_stack = (char *)teb->Tib.StackBase;
thread_data->esync_queue_fd = -1;
@@ -284,10 +284,10 @@ index aeb58c5469c..cea025d9308 100644
void esync_clear( int fd );
diff --git a/server/protocol.def b/server/protocol.def
index 8991462eb45..3955a8bd1c7 100644
index 01f2207cc8a..9188893d7de 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -4069,6 +4069,11 @@ struct handle_info
@@ -4070,6 +4070,11 @@ struct handle_info
unsigned int shm_idx; /* this object's index into the shm section */
@END