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 24b9203d3544001dd51894f1c1edd99819367198.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From af7dc115ada8acf19aebedfc091e048b919c2478 Mon Sep 17 00:00:00 2001
|
||||
From 3a159edee2db7634475ee665e3ab0cf56c5425f6 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Fri, 8 Jun 2018 18:51:40 -0500
|
||||
Subject: [PATCH] server: Add an object operation to grab the esync file
|
||||
@@ -110,10 +110,10 @@ index 0bad4d7a260..176cf1b817e 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/console.c b/server/console.c
|
||||
index 295db7767b2..a67f1918a3a 100644
|
||||
index d1f948b23a6..cc534e8c9c1 100644
|
||||
--- a/server/console.c
|
||||
+++ b/server/console.c
|
||||
@@ -82,6 +82,7 @@ static const struct object_ops console_ops =
|
||||
@@ -81,6 +81,7 @@ static const struct object_ops console_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
console_signaled, /* signaled */
|
||||
@@ -121,7 +121,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
console_get_fd, /* get_fd */
|
||||
@@ -157,6 +158,7 @@ static const struct object_ops console_server_ops =
|
||||
@@ -156,6 +157,7 @@ static const struct object_ops console_server_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
console_server_signaled, /* signaled */
|
||||
@@ -129,7 +129,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
console_server_get_fd, /* get_fd */
|
||||
@@ -225,6 +227,7 @@ static const struct object_ops screen_buffer_ops =
|
||||
@@ -224,6 +226,7 @@ static const struct object_ops screen_buffer_ops =
|
||||
screen_buffer_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -137,7 +137,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
NULL, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
screen_buffer_get_fd, /* get_fd */
|
||||
@@ -274,6 +277,7 @@ static const struct object_ops console_device_ops =
|
||||
@@ -273,6 +276,7 @@ static const struct object_ops console_device_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -145,7 +145,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -311,6 +315,7 @@ static const struct object_ops console_input_ops =
|
||||
@@ -310,6 +314,7 @@ static const struct object_ops console_input_ops =
|
||||
console_input_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -153,7 +153,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
console_input_get_fd, /* get_fd */
|
||||
@@ -367,6 +372,7 @@ static const struct object_ops console_output_ops =
|
||||
@@ -366,6 +371,7 @@ static const struct object_ops console_output_ops =
|
||||
console_output_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -161,7 +161,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
console_output_get_fd, /* get_fd */
|
||||
@@ -424,6 +430,7 @@ static const struct object_ops console_connection_ops =
|
||||
@@ -423,6 +429,7 @@ static const struct object_ops console_connection_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -170,7 +170,7 @@ index 295db7767b2..a67f1918a3a 100644
|
||||
no_signal, /* signal */
|
||||
console_connection_get_fd, /* get_fd */
|
||||
diff --git a/server/debugger.c b/server/debugger.c
|
||||
index e4a6c1e43a8..c37f97aa0b6 100644
|
||||
index 9531a4b6909..7eb7847a9da 100644
|
||||
--- a/server/debugger.c
|
||||
+++ b/server/debugger.c
|
||||
@@ -73,6 +73,7 @@ static const struct object_ops debug_event_ops =
|
||||
@@ -181,10 +181,10 @@ index e4a6c1e43a8..c37f97aa0b6 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -101,6 +102,7 @@ static const struct object_ops debug_ctx_ops =
|
||||
@@ -103,6 +104,7 @@ static const struct object_ops debug_obj_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
debug_ctx_signaled, /* signaled */
|
||||
debug_obj_signaled, /* signaled */
|
||||
+ NULL, /* get_esync_fd */
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
@@ -226,7 +226,7 @@ index 652da83e1e2..cc9aa2358a4 100644
|
||||
no_signal, /* signal */
|
||||
device_file_get_fd, /* get_fd */
|
||||
diff --git a/server/directory.c b/server/directory.c
|
||||
index 81d02d6f64e..1ffa35f0cc8 100644
|
||||
index ca9f978ff7f..2d25667106e 100644
|
||||
--- a/server/directory.c
|
||||
+++ b/server/directory.c
|
||||
@@ -57,6 +57,7 @@ static const struct object_ops object_type_ops =
|
||||
@@ -278,7 +278,7 @@ index cba9472aa3d..06655fc7dd6 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index c3c53489212..d3b1e515b52 100644
|
||||
index 673055718f8..5b76e3a876e 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -216,6 +216,7 @@ static const struct object_ops fd_ops =
|
||||
@@ -314,10 +314,10 @@ index c3c53489212..d3b1e515b52 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 2cc4a9d978c..5c28b1c176d 100644
|
||||
index d7e1af5841a..308d19cec31 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -86,6 +86,7 @@ static const struct object_ops file_ops =
|
||||
@@ -85,6 +85,7 @@ static const struct object_ops file_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
default_fd_signaled, /* signaled */
|
||||
@@ -386,7 +386,7 @@ index 5d26c606080..2e09bab22fa 100644
|
||||
no_signal, /* signal */
|
||||
mailslot_device_file_get_fd, /* get_fd */
|
||||
diff --git a/server/mapping.c b/server/mapping.c
|
||||
index 6c2e7a1fd2b..d06ceaa1a66 100644
|
||||
index 9c51aa3bec7..70395b804b0 100644
|
||||
--- a/server/mapping.c
|
||||
+++ b/server/mapping.c
|
||||
@@ -68,6 +68,7 @@ static const struct object_ops ranges_ops =
|
||||
@@ -483,7 +483,7 @@ index 73058fd3f99..02878ef0e0e 100644
|
||||
void (*satisfied)(struct object *,struct wait_queue_entry *);
|
||||
/* signal an object */
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index 5b3e29e5dfd..a7db8332702 100644
|
||||
index 3dabe0e6cfa..a8b11686315 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -78,6 +78,7 @@ static const struct object_ops process_ops =
|
||||
@@ -531,10 +531,10 @@ index a552fed57bb..263bb46ea00 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/registry.c b/server/registry.c
|
||||
index c937e051597..8110bbb340c 100644
|
||||
index 64aec1d83c9..49a3c679207 100644
|
||||
--- a/server/registry.c
|
||||
+++ b/server/registry.c
|
||||
@@ -160,6 +160,7 @@ static const struct object_ops key_ops =
|
||||
@@ -161,6 +161,7 @@ static const struct object_ops key_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -591,7 +591,7 @@ index 7c2bf2cc154..b6d6dcfc4b6 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/sock.c b/server/sock.c
|
||||
index 1ff56f7bbe5..57dd5a7c6d7 100644
|
||||
index 8c146a0a8f8..57d994ee332 100644
|
||||
--- a/server/sock.c
|
||||
+++ b/server/sock.c
|
||||
@@ -188,6 +188,7 @@ static const struct object_ops sock_ops =
|
||||
@@ -602,7 +602,7 @@ index 1ff56f7bbe5..57dd5a7c6d7 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
sock_get_fd, /* get_fd */
|
||||
@@ -1527,6 +1528,7 @@ static const struct object_ops ifchange_ops =
|
||||
@@ -1533,6 +1534,7 @@ static const struct object_ops ifchange_ops =
|
||||
add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -610,7 +610,7 @@ index 1ff56f7bbe5..57dd5a7c6d7 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
ifchange_get_fd, /* get_fd */
|
||||
@@ -1748,6 +1750,7 @@ static const struct object_ops socket_device_ops =
|
||||
@@ -1754,6 +1756,7 @@ static const struct object_ops socket_device_ops =
|
||||
no_add_queue, /* add_queue */
|
||||
NULL, /* remove_queue */
|
||||
NULL, /* signaled */
|
||||
@@ -631,7 +631,7 @@ index 0b85350e1a5..c7212618cac 100644
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index 0a0d957384b..c10f1710542 100644
|
||||
index f493b7b2aa8..29a692361f8 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -110,6 +110,7 @@ static const struct object_ops thread_apc_ops =
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 3d3cd983add6183a0e38c427d15895c331a2b666 Mon Sep 17 00:00:00 2001
|
||||
From 882fe7c0815814c912722d663c981c411e7314f5 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Fri, 8 Jun 2018 22:04:29 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for thread objects.
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH] server: Create eventfd file descriptors for thread objects.
|
||||
2 files changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index 785203b7fa6..b52a1f5048c 100644
|
||||
index 2d2a80a61ef..c52057d1f50 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -172,6 +172,7 @@ static const struct object_ops context_ops =
|
||||
@@ -34,7 +34,7 @@ index 785203b7fa6..b52a1f5048c 100644
|
||||
thread->teb = 0;
|
||||
thread->entry_point = 0;
|
||||
+ thread->esync_fd = -1;
|
||||
thread->debug_ctx = NULL;
|
||||
thread->debug_obj = NULL;
|
||||
thread->system_regs = 0;
|
||||
thread->queue = NULL;
|
||||
@@ -361,6 +363,9 @@ struct thread *create_thread( int fd, struct process *process, const struct secu
|
||||
@@ -72,7 +72,7 @@ index 785203b7fa6..b52a1f5048c 100644
|
||||
{
|
||||
if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | THREAD_QUERY_INFORMATION | THREAD_GET_CONTEXT;
|
||||
diff --git a/server/thread.h b/server/thread.h
|
||||
index 78ca4c201b2..faffe13d795 100644
|
||||
index 4a8c5b1cb2c..e6a9f987c9e 100644
|
||||
--- a/server/thread.h
|
||||
+++ b/server/thread.h
|
||||
@@ -54,6 +54,7 @@ struct thread
|
||||
@@ -80,9 +80,9 @@ index 78ca4c201b2..faffe13d795 100644
|
||||
thread_id_t id; /* thread id */
|
||||
struct list mutex_list; /* list of currently owned mutexes */
|
||||
+ int esync_fd; /* esync file descriptor (signalled on exit) */
|
||||
struct debug_ctx *debug_ctx; /* debugger context if this thread is a debugger */
|
||||
struct debug_obj *debug_obj; /* debugger context if this thread is a debugger */
|
||||
unsigned int system_regs; /* which system regs have been set */
|
||||
struct msg_queue *queue; /* message queue */
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From b04ab24c90337271146425edc2059328e42743b6 Mon Sep 17 00:00:00 2001
|
||||
From 607d2418e9997885192791cb54a9cdfdaf77eee1 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 17:17:31 -0500
|
||||
Subject: [PATCH] ntdll, server: Implement alertable waits.
|
||||
@@ -164,7 +164,7 @@ index d1a282c65e9..2a7c3865617 100644
|
||||
|
||||
/* We need to let the server know when we are doing a message wait, and when we
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 23731f0fdc6..b2020b6311a 100644
|
||||
index 1d6ba95d2a1..9c8e334aba6 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -50,6 +50,7 @@ struct ntdll_thread_data
|
||||
@@ -176,10 +176,10 @@ index 23731f0fdc6..b2020b6311a 100644
|
||||
int reply_fd; /* fd for receiving server replies */
|
||||
int wait_fd[2]; /* fd for sleeping server requests */
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index 785583a340a..93646bc51f4 100644
|
||||
index c1e79a210f4..5631414bf4c 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -2552,6 +2552,7 @@ static void init_teb( TEB *teb, PEB *peb )
|
||||
@@ -2565,6 +2565,7 @@ static void init_teb( TEB *teb, PEB *peb )
|
||||
InitializeListHead( &teb->ActivationContextStack.FrameListCache );
|
||||
teb->StaticUnicodeString.Buffer = teb->StaticUnicodeBuffer;
|
||||
teb->StaticUnicodeString.MaximumLength = sizeof(teb->StaticUnicodeBuffer);
|
||||
@@ -244,10 +244,10 @@ index aeb58c5469c..cea025d9308 100644
|
||||
void esync_clear( int fd );
|
||||
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 30296aedde8..d2772aacec2 100644
|
||||
index e60d6f7e8dd..34eaff6207c 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3707,3 +3707,7 @@ enum esync_type
|
||||
@@ -3718,3 +3718,7 @@ enum esync_type
|
||||
@REQ(esync_msgwait)
|
||||
int in_msgwait; /* are we in a message wait? */
|
||||
@END
|
||||
@@ -256,7 +256,7 @@ index 30296aedde8..d2772aacec2 100644
|
||||
+@REQ(get_esync_apc_fd)
|
||||
+@END
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index b52a1f5048c..6fb8684f5e0 100644
|
||||
index c52057d1f50..0b905e6a155 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -227,6 +227,7 @@ static inline void init_thread_structure( struct thread *thread )
|
||||
@@ -264,7 +264,7 @@ index b52a1f5048c..6fb8684f5e0 100644
|
||||
thread->entry_point = 0;
|
||||
thread->esync_fd = -1;
|
||||
+ thread->esync_apc_fd = -1;
|
||||
thread->debug_ctx = NULL;
|
||||
thread->debug_obj = NULL;
|
||||
thread->system_regs = 0;
|
||||
thread->queue = NULL;
|
||||
@@ -364,7 +365,10 @@ struct thread *create_thread( int fd, struct process *process, const struct secu
|
||||
@@ -304,7 +304,7 @@ index b52a1f5048c..6fb8684f5e0 100644
|
||||
}
|
||||
|
||||
diff --git a/server/thread.h b/server/thread.h
|
||||
index faffe13d795..0f6108b684a 100644
|
||||
index e6a9f987c9e..ff86da99798 100644
|
||||
--- a/server/thread.h
|
||||
+++ b/server/thread.h
|
||||
@@ -55,6 +55,7 @@ struct thread
|
||||
@@ -312,7 +312,7 @@ index faffe13d795..0f6108b684a 100644
|
||||
struct list mutex_list; /* list of currently owned mutexes */
|
||||
int esync_fd; /* esync file descriptor (signalled on exit) */
|
||||
+ int esync_apc_fd; /* esync apc fd (signalled when APCs are present) */
|
||||
struct debug_ctx *debug_ctx; /* debugger context if this thread is a debugger */
|
||||
struct debug_obj *debug_obj; /* debugger context if this thread is a debugger */
|
||||
unsigned int system_regs; /* which system regs have been set */
|
||||
struct msg_queue *queue; /* message queue */
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user