Rebase against 2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb.

This commit is contained in:
Alistair Leslie-Hughes 2021-12-18 18:45:43 +11:00
parent 544f90dacc
commit 278310cf80
4 changed files with 125 additions and 109 deletions

View File

@ -1,4 +1,4 @@
From 57742beb169682bcc0d4de196242ee0528e223df Mon Sep 17 00:00:00 2001
From 5f823452dba72254c36a68c974528b83cb5c50b6 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
@ -42,10 +42,10 @@ Split off to decrease patch size.
33 files changed, 67 insertions(+)
diff --git a/server/async.c b/server/async.c
index 442d98d8c7a..0645cc5f7bb 100644
index 1a564ff1a69..0b8e1ba1fd9 100644
--- a/server/async.c
+++ b/server/async.c
@@ -72,6 +72,7 @@ static const struct object_ops async_ops =
@@ -77,6 +77,7 @@ static const struct object_ops async_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
async_signaled, /* signaled */
@ -53,7 +53,7 @@ index 442d98d8c7a..0645cc5f7bb 100644
async_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -489,6 +490,7 @@ static const struct object_ops iosb_ops =
@@ -587,6 +588,7 @@ static const struct object_ops iosb_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -62,10 +62,10 @@ index 442d98d8c7a..0645cc5f7bb 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/atom.c b/server/atom.c
index 8d0ffbb05f3..ff0d8b5d87b 100644
index ff0799f5880..d9824de8eac 100644
--- a/server/atom.c
+++ b/server/atom.c
@@ -80,6 +80,7 @@ static const struct object_ops atom_table_ops =
@@ -79,6 +79,7 @@ static const struct object_ops atom_table_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -74,10 +74,10 @@ index 8d0ffbb05f3..ff0d8b5d87b 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/change.c b/server/change.c
index b02a9cd65bf..9ccdec75ed4 100644
index a01d6894151..782801e8e1d 100644
--- a/server/change.c
+++ b/server/change.c
@@ -114,6 +114,7 @@ static const struct object_ops dir_ops =
@@ -112,6 +112,7 @@ static const struct object_ops dir_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -86,10 +86,10 @@ index b02a9cd65bf..9ccdec75ed4 100644
no_signal, /* signal */
dir_get_fd, /* get_fd */
diff --git a/server/clipboard.c b/server/clipboard.c
index eb9bd4f7020..cb4ca0362df 100644
index 8118a467dd8..8b265f2dcea 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -77,6 +77,7 @@ static const struct object_ops clipboard_ops =
@@ -76,6 +76,7 @@ static const struct object_ops clipboard_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -98,10 +98,10 @@ index eb9bd4f7020..cb4ca0362df 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/completion.c b/server/completion.c
index eb0d256ad09..5a8bb8fb47f 100644
index 6933195e72d..3d4be86a212 100644
--- a/server/completion.c
+++ b/server/completion.c
@@ -76,6 +76,7 @@ static const struct object_ops completion_ops =
@@ -75,6 +75,7 @@ static const struct object_ops completion_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
completion_signaled, /* signaled */
@ -110,18 +110,18 @@ index eb0d256ad09..5a8bb8fb47f 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/console.c b/server/console.c
index 1e6f6c0f8a3..4443c322548 100644
index 136c14862e3..e7c97e99579 100644
--- a/server/console.c
+++ b/server/console.c
@@ -81,6 +81,7 @@ static const struct object_ops console_ops =
add_queue, /* add_queue */
console_add_queue, /* add_queue */
remove_queue, /* remove_queue */
console_signaled, /* signaled */
+ NULL, /* get_esync_fd */
no_satisfied, /* satisfied */
no_signal, /* signal */
console_get_fd, /* get_fd */
@@ -156,6 +157,7 @@ static const struct object_ops console_server_ops =
@@ -158,6 +159,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 1e6f6c0f8a3..4443c322548 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_server_get_fd, /* get_fd */
@@ -224,6 +226,7 @@ static const struct object_ops screen_buffer_ops =
@@ -227,6 +229,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 1e6f6c0f8a3..4443c322548 100644
NULL, /* satisfied */
no_signal, /* signal */
screen_buffer_get_fd, /* get_fd */
@@ -272,6 +275,7 @@ static const struct object_ops console_device_ops =
@@ -276,6 +279,7 @@ static const struct object_ops console_device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -145,7 +145,7 @@ index 1e6f6c0f8a3..4443c322548 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -309,6 +313,7 @@ static const struct object_ops console_input_ops =
@@ -313,6 +317,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 1e6f6c0f8a3..4443c322548 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_input_get_fd, /* get_fd */
@@ -365,6 +370,7 @@ static const struct object_ops console_output_ops =
@@ -370,6 +375,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 1e6f6c0f8a3..4443c322548 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_output_get_fd, /* get_fd */
@@ -422,6 +428,7 @@ static const struct object_ops console_connection_ops =
@@ -428,6 +434,7 @@ static const struct object_ops console_connection_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -170,10 +170,10 @@ index 1e6f6c0f8a3..4443c322548 100644
no_signal, /* signal */
console_connection_get_fd, /* get_fd */
diff --git a/server/debugger.c b/server/debugger.c
index ca84a88258f..08d78eabe9b 100644
index 48adb244b09..d85a2000684 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -87,6 +87,7 @@ static const struct object_ops debug_event_ops =
@@ -86,6 +86,7 @@ static const struct object_ops debug_event_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
debug_event_signaled, /* signaled */
@ -181,7 +181,7 @@ index ca84a88258f..08d78eabe9b 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -115,6 +116,7 @@ static const struct object_ops debug_obj_ops =
@@ -114,6 +115,7 @@ static const struct object_ops debug_obj_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
debug_obj_signaled, /* signaled */
@ -190,10 +190,10 @@ index ca84a88258f..08d78eabe9b 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/device.c b/server/device.c
index b669921a003..6086f134df7 100644
index d6288920bf4..80904d33d0d 100644
--- a/server/device.c
+++ b/server/device.c
@@ -67,6 +67,7 @@ static const struct object_ops irp_call_ops =
@@ -66,6 +66,7 @@ static const struct object_ops irp_call_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -201,7 +201,7 @@ index b669921a003..6086f134df7 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -107,6 +108,7 @@ static const struct object_ops device_manager_ops =
@@ -106,6 +107,7 @@ static const struct object_ops device_manager_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
device_manager_signaled, /* signaled */
@ -209,7 +209,7 @@ index b669921a003..6086f134df7 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -164,6 +166,7 @@ static const struct object_ops device_ops =
@@ -163,6 +165,7 @@ static const struct object_ops device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -217,7 +217,7 @@ index b669921a003..6086f134df7 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -216,6 +219,7 @@ static const struct object_ops device_file_ops =
@@ -215,6 +218,7 @@ static const struct object_ops device_file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -226,10 +226,10 @@ index b669921a003..6086f134df7 100644
no_signal, /* signal */
device_file_get_fd, /* get_fd */
diff --git a/server/directory.c b/server/directory.c
index ec8187b425a..1264551f4e4 100644
index 2cd61be0838..ed3ab1ebb8f 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -70,6 +70,7 @@ static const struct object_ops object_type_ops =
@@ -69,6 +69,7 @@ static const struct object_ops object_type_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -237,7 +237,7 @@ index ec8187b425a..1264551f4e4 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -120,6 +121,7 @@ static const struct object_ops directory_ops =
@@ -119,6 +120,7 @@ static const struct object_ops directory_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -246,10 +246,10 @@ index ec8187b425a..1264551f4e4 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/esync.c b/server/esync.c
index f89f29150ea..631908d335e 100644
index 8faea3c790b..1fa81b96176 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -124,6 +124,7 @@ static const struct object_ops esync_ops =
@@ -122,6 +122,7 @@ static const struct object_ops esync_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -258,7 +258,7 @@ index f89f29150ea..631908d335e 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/event.c b/server/event.c
index ccdd465dd5b..3d869037bf5 100644
index f1b79b1b35e..c727bfdd1ba 100644
--- a/server/event.c
+++ b/server/event.c
@@ -72,6 +72,7 @@ static const struct object_ops event_ops =
@ -278,10 +278,10 @@ index ccdd465dd5b..3d869037bf5 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/fd.c b/server/fd.c
index 01d6c181f1b..f7187ca2b34 100644
index 45a1b226f33..b0e98909fa6 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -218,6 +218,7 @@ static const struct object_ops fd_ops =
@@ -212,6 +212,7 @@ static const struct object_ops fd_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -289,7 +289,7 @@ index 01d6c181f1b..f7187ca2b34 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -259,6 +260,7 @@ static const struct object_ops device_ops =
@@ -253,6 +254,7 @@ static const struct object_ops device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -297,7 +297,7 @@ index 01d6c181f1b..f7187ca2b34 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -299,6 +301,7 @@ static const struct object_ops inode_ops =
@@ -293,6 +295,7 @@ static const struct object_ops inode_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -305,7 +305,7 @@ index 01d6c181f1b..f7187ca2b34 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -341,6 +344,7 @@ static const struct object_ops file_lock_ops =
@@ -335,6 +338,7 @@ static const struct object_ops file_lock_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
file_lock_signaled, /* signaled */
@ -314,10 +314,10 @@ index 01d6c181f1b..f7187ca2b34 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/file.c b/server/file.c
index 53c694177df..e3f52f4ef76 100644
index 3079afdbdfd..30db0450a3f 100644
--- a/server/file.c
+++ b/server/file.c
@@ -97,6 +97,7 @@ static const struct object_ops file_ops =
@@ -94,6 +94,7 @@ static const struct object_ops file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -326,7 +326,7 @@ index 53c694177df..e3f52f4ef76 100644
no_signal, /* signal */
file_get_fd, /* get_fd */
diff --git a/server/handle.c b/server/handle.c
index 15da701ee99..c07199109fd 100644
index bc692b8ebeb..c280335611c 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -126,6 +126,7 @@ static const struct object_ops handle_table_ops =
@ -338,10 +338,10 @@ index 15da701ee99..c07199109fd 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/hook.c b/server/hook.c
index c048908c295..f5450b5a870 100644
index 5abdf39ad37..da351d6791f 100644
--- a/server/hook.c
+++ b/server/hook.c
@@ -81,6 +81,7 @@ static const struct object_ops hook_table_ops =
@@ -80,6 +80,7 @@ static const struct object_ops hook_table_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -350,10 +350,10 @@ index c048908c295..f5450b5a870 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/mailslot.c b/server/mailslot.c
index d4b2fd1b562..8cd4e9a741a 100644
index 2d8697ec9bd..4cf9b73f784 100644
--- a/server/mailslot.c
+++ b/server/mailslot.c
@@ -78,6 +78,7 @@ static const struct object_ops mailslot_ops =
@@ -74,6 +74,7 @@ static const struct object_ops mailslot_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -361,7 +361,7 @@ index d4b2fd1b562..8cd4e9a741a 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
mailslot_get_fd, /* get_fd */
@@ -136,6 +137,7 @@ static const struct object_ops mail_writer_ops =
@@ -133,6 +134,7 @@ static const struct object_ops mail_writer_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -369,7 +369,7 @@ index d4b2fd1b562..8cd4e9a741a 100644
NULL, /* satisfied */
no_signal, /* signal */
mail_writer_get_fd, /* get_fd */
@@ -198,6 +200,7 @@ static const struct object_ops mailslot_device_ops =
@@ -196,6 +198,7 @@ static const struct object_ops mailslot_device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -377,7 +377,7 @@ index d4b2fd1b562..8cd4e9a741a 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -228,6 +231,7 @@ static const struct object_ops mailslot_device_file_ops =
@@ -226,6 +229,7 @@ static const struct object_ops mailslot_device_file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -386,10 +386,10 @@ index d4b2fd1b562..8cd4e9a741a 100644
no_signal, /* signal */
mailslot_device_file_get_fd, /* get_fd */
diff --git a/server/mapping.c b/server/mapping.c
index a814fe8090f..c7541f353f4 100644
index bc9ed5bdcb9..6cd123f6aa9 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -68,6 +68,7 @@ static const struct object_ops ranges_ops =
@@ -67,6 +67,7 @@ static const struct object_ops ranges_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -397,7 +397,7 @@ index a814fe8090f..c7541f353f4 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -104,6 +105,7 @@ static const struct object_ops shared_map_ops =
@@ -103,6 +104,7 @@ static const struct object_ops shared_map_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -405,7 +405,7 @@ index a814fe8090f..c7541f353f4 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -177,6 +179,7 @@ static const struct object_ops mapping_ops =
@@ -176,6 +178,7 @@ static const struct object_ops mapping_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -414,7 +414,7 @@ index a814fe8090f..c7541f353f4 100644
no_signal, /* signal */
mapping_get_fd, /* get_fd */
diff --git a/server/mutex.c b/server/mutex.c
index 75ff5117d3f..681cbc3e759 100644
index af0efe72132..4785a830e92 100644
--- a/server/mutex.c
+++ b/server/mutex.c
@@ -73,6 +73,7 @@ static const struct object_ops mutex_ops =
@ -426,7 +426,7 @@ index 75ff5117d3f..681cbc3e759 100644
mutex_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/named_pipe.c b/server/named_pipe.c
index df8c7e3170c..d756de18db0 100644
index 3e6cf09d4f2..b8ec17a787a 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -119,6 +119,7 @@ static const struct object_ops named_pipe_ops =
@ -445,7 +445,7 @@ index df8c7e3170c..d756de18db0 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
pipe_end_get_fd, /* get_fd */
@@ -210,6 +212,7 @@ static const struct object_ops pipe_client_ops =
@@ -211,6 +213,7 @@ static const struct object_ops pipe_client_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -453,7 +453,7 @@ index df8c7e3170c..d756de18db0 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
pipe_end_get_fd, /* get_fd */
@@ -256,6 +259,7 @@ static const struct object_ops named_pipe_device_ops =
@@ -258,6 +261,7 @@ static const struct object_ops named_pipe_device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -461,7 +461,7 @@ index df8c7e3170c..d756de18db0 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -287,6 +291,7 @@ static const struct object_ops named_pipe_device_file_ops =
@@ -289,6 +293,7 @@ static const struct object_ops named_pipe_device_file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -470,10 +470,10 @@ index df8c7e3170c..d756de18db0 100644
no_signal, /* signal */
named_pipe_device_file_get_fd, /* get_fd */
diff --git a/server/object.h b/server/object.h
index 039bf4e7d4e..0a09663cfa7 100644
index f156f1d2f13..c98e45125a0 100644
--- a/server/object.h
+++ b/server/object.h
@@ -81,6 +81,8 @@ struct object_ops
@@ -78,6 +78,8 @@ struct object_ops
void (*remove_queue)(struct object *,struct wait_queue_entry *);
/* is object signaled? */
int (*signaled)(struct object *,struct wait_queue_entry *);
@ -483,10 +483,10 @@ index 039bf4e7d4e..0a09663cfa7 100644
void (*satisfied)(struct object *,struct wait_queue_entry *);
/* signal an object */
diff --git a/server/process.c b/server/process.c
index 0870de5bb26..0b14f4e6193 100644
index 0cc7f6b60ee..c502a58f9a2 100644
--- a/server/process.c
+++ b/server/process.c
@@ -91,6 +91,7 @@ static const struct object_ops process_ops =
@@ -105,6 +105,7 @@ static const struct object_ops process_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
process_signaled, /* signaled */
@ -494,7 +494,7 @@ index 0870de5bb26..0b14f4e6193 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -142,6 +143,7 @@ static const struct object_ops startup_info_ops =
@@ -156,6 +157,7 @@ static const struct object_ops startup_info_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
startup_info_signaled, /* signaled */
@ -502,7 +502,7 @@ index 0870de5bb26..0b14f4e6193 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -203,6 +205,7 @@ static const struct object_ops job_ops =
@@ -217,6 +219,7 @@ static const struct object_ops job_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
job_signaled, /* signaled */
@ -511,10 +511,10 @@ index 0870de5bb26..0b14f4e6193 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/queue.c b/server/queue.c
index 54dcd246d89..2d6d262f09d 100644
index bcb2f237074..6daa12958ca 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -175,6 +175,7 @@ static const struct object_ops msg_queue_ops =
@@ -173,6 +173,7 @@ static const struct object_ops msg_queue_ops =
msg_queue_add_queue, /* add_queue */
msg_queue_remove_queue, /* remove_queue */
msg_queue_signaled, /* signaled */
@ -522,7 +522,7 @@ index 54dcd246d89..2d6d262f09d 100644
msg_queue_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -212,6 +213,7 @@ static const struct object_ops thread_input_ops =
@@ -210,6 +211,7 @@ static const struct object_ops thread_input_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -531,7 +531,7 @@ index 54dcd246d89..2d6d262f09d 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/registry.c b/server/registry.c
index 427da8a5883..1dd201d5b69 100644
index b00abdbc004..8652576ec3f 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -178,6 +178,7 @@ static const struct object_ops key_ops =
@ -543,10 +543,10 @@ index 427da8a5883..1dd201d5b69 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/request.c b/server/request.c
index 29b63600f15..a70584ab001 100644
index 7021741c765..ca83fdbd2af 100644
--- a/server/request.c
+++ b/server/request.c
@@ -97,6 +97,7 @@ static const struct object_ops master_socket_ops =
@@ -90,6 +90,7 @@ static const struct object_ops master_socket_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -555,7 +555,7 @@ index 29b63600f15..a70584ab001 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/semaphore.c b/server/semaphore.c
index 543d5883ec8..9f37e2d8aa6 100644
index 53b42a886df..e3889f24601 100644
--- a/server/semaphore.c
+++ b/server/semaphore.c
@@ -70,6 +70,7 @@ static const struct object_ops semaphore_ops =
@ -567,10 +567,10 @@ index 543d5883ec8..9f37e2d8aa6 100644
semaphore_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/serial.c b/server/serial.c
index d3ea4cbe420..af1fb49e52b 100644
index d665eb7fa35..11e204e4419 100644
--- a/server/serial.c
+++ b/server/serial.c
@@ -92,6 +92,7 @@ static const struct object_ops serial_ops =
@@ -85,6 +85,7 @@ static const struct object_ops serial_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -579,10 +579,10 @@ index d3ea4cbe420..af1fb49e52b 100644
no_signal, /* signal */
serial_get_fd, /* get_fd */
diff --git a/server/signal.c b/server/signal.c
index 0c22c157f2b..45d176de46c 100644
index 19b76d44c16..55cd6aa037e 100644
--- a/server/signal.c
+++ b/server/signal.c
@@ -67,6 +67,7 @@ static const struct object_ops handler_ops =
@@ -62,6 +62,7 @@ static const struct object_ops handler_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -591,10 +591,10 @@ index 0c22c157f2b..45d176de46c 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/sock.c b/server/sock.c
index 50bfc08e145..a7ae0e1c7dc 100644
index 2df4f3d3056..3cc06db8225 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -247,6 +247,7 @@ static const struct object_ops sock_ops =
@@ -249,6 +249,7 @@ static const struct object_ops sock_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -602,7 +602,7 @@ index 50bfc08e145..a7ae0e1c7dc 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
sock_get_fd, /* get_fd */
@@ -2966,6 +2967,7 @@ static const struct object_ops ifchange_ops =
@@ -3114,6 +3115,7 @@ static const struct object_ops ifchange_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -610,7 +610,7 @@ index 50bfc08e145..a7ae0e1c7dc 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
ifchange_get_fd, /* get_fd */
@@ -3186,6 +3188,7 @@ static const struct object_ops socket_device_ops =
@@ -3335,6 +3337,7 @@ static const struct object_ops socket_device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -619,10 +619,10 @@ index 50bfc08e145..a7ae0e1c7dc 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/symlink.c b/server/symlink.c
index 3879bb685f7..5ebe35636e1 100644
index 27d48e2f994..8cb24b4ff6e 100644
--- a/server/symlink.c
+++ b/server/symlink.c
@@ -72,6 +72,7 @@ static const struct object_ops symlink_ops =
@@ -71,6 +71,7 @@ static const struct object_ops symlink_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -631,10 +631,10 @@ index 3879bb685f7..5ebe35636e1 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/thread.c b/server/thread.c
index 3bd932bad9f..7192faa544a 100644
index a8fa9a19585..b49b3f159d2 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -97,6 +97,7 @@ static const struct object_ops thread_apc_ops =
@@ -96,6 +96,7 @@ static const struct object_ops thread_apc_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
thread_apc_signaled, /* signaled */
@ -642,7 +642,7 @@ index 3bd932bad9f..7192faa544a 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -142,6 +143,7 @@ static const struct object_ops context_ops =
@@ -141,6 +142,7 @@ static const struct object_ops context_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
context_signaled, /* signaled */
@ -650,7 +650,7 @@ index 3bd932bad9f..7192faa544a 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -191,6 +193,7 @@ static const struct object_ops thread_ops =
@@ -190,6 +192,7 @@ static const struct object_ops thread_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
thread_signaled, /* signaled */
@ -659,10 +659,10 @@ index 3bd932bad9f..7192faa544a 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/timer.c b/server/timer.c
index 5e265d2ddf6..86ecf3cb7a3 100644
index 96dc9d00ca1..f59902d5607 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -77,6 +77,7 @@ static const struct object_ops timer_ops =
@@ -76,6 +76,7 @@ static const struct object_ops timer_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
timer_signaled, /* signaled */
@ -671,10 +671,10 @@ index 5e265d2ddf6..86ecf3cb7a3 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/token.c b/server/token.c
index 5d2fc9555a2..79beea16ab2 100644
index 820a7a0e07d..e42c1a159e3 100644
--- a/server/token.c
+++ b/server/token.c
@@ -162,6 +162,7 @@ static const struct object_ops token_ops =
@@ -163,6 +163,7 @@ static const struct object_ops token_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -683,7 +683,7 @@ index 5d2fc9555a2..79beea16ab2 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/winstation.c b/server/winstation.c
index 61f9f77c73f..a38b2e831c4 100644
index 854affead77..1535321da2d 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -75,6 +75,7 @@ static const struct object_ops winstation_ops =
@ -703,5 +703,5 @@ index 61f9f77c73f..a38b2e831c4 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
--
2.32.0
2.34.1

View File

@ -1,17 +1,17 @@
From fb450637e3b533b3dbef8792aa389ca3614bedf3 Mon Sep 17 00:00:00 2001
From fa9bbbaa8630c4b259e287437a627e226c1c34da Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sat, 17 Oct 2020 19:13:16 -0500
Subject: [PATCH] server: Create esync file descriptors for console servers.
---
server/console.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
server/console.c | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/server/console.c b/server/console.c
index dd1bf8f4119..887bba4e63c 100644
index e7c97e99579..98ac09efc3f 100644
--- a/server/console.c
+++ b/server/console.c
@@ -42,6 +42,7 @@
@@ -41,6 +41,7 @@
#include "wincon.h"
#include "winternl.h"
#include "wine/condrv.h"
@ -19,10 +19,26 @@ index dd1bf8f4119..887bba4e63c 100644
struct screen_buffer;
@@ -139,11 +140,13 @@ struct console_server
int busy; /* flag if server processing an ioctl */
int term_fd; /* UNIX terminal fd */
struct termios termios; /* original termios */
@@ -131,20 +132,22 @@ struct console_host_ioctl
struct console_server
{
- struct object obj; /* object header */
- struct fd *fd; /* pseudo-fd for ioctls */
- struct console *console; /* attached console */
- struct list queue; /* ioctl queue */
- struct list read_queue; /* blocking read queue */
+ struct object obj; /* object header */
+ struct fd *fd; /* pseudo-fd for ioctls */
+ struct console *console; /* attached console */
+ struct list queue; /* ioctl queue */
+ struct list read_queue; /* blocking read queue */
unsigned int busy : 1; /* flag if server processing an ioctl */
unsigned int once_input : 1; /* flag if input thread has already been requested */
- int term_fd; /* UNIX terminal fd */
- struct termios termios; /* original termios */
+ int term_fd; /* UNIX terminal fd */
+ struct termios termios; /* original termios */
+ int esync_fd;
};
@ -33,7 +49,7 @@ index dd1bf8f4119..887bba4e63c 100644
static struct fd *console_server_get_fd( struct object *obj );
static struct object *console_server_lookup_name( struct object *obj, struct unicode_str *name,
unsigned int attr, struct object *root );
@@ -158,7 +161,7 @@ static const struct object_ops console_server_ops =
@@ -159,7 +162,7 @@ static const struct object_ops console_server_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
console_server_signaled, /* signaled */
@ -42,7 +58,7 @@ index dd1bf8f4119..887bba4e63c 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_server_get_fd, /* get_fd */
@@ -526,6 +529,8 @@ static void disconnect_console_server( struct console_server *server )
@@ -597,6 +600,8 @@ static void disconnect_console_server( struct console_server *server )
list_remove( &call->entry );
console_host_ioctl_terminate( call, STATUS_CANCELLED );
}
@ -51,7 +67,7 @@ index dd1bf8f4119..887bba4e63c 100644
while (!list_empty( &server->read_queue ))
{
struct console_host_ioctl *call = LIST_ENTRY( list_head( &server->read_queue ), struct console_host_ioctl, entry );
@@ -844,6 +849,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
@@ -897,6 +902,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
return !server->console || !list_empty( &server->queue );
}
@ -65,7 +81,7 @@ index dd1bf8f4119..887bba4e63c 100644
static struct fd *console_server_get_fd( struct object* obj )
{
struct console_server *server = (struct console_server*)obj;
@@ -874,6 +886,10 @@ static struct object *create_console_server( void )
@@ -928,6 +940,10 @@ static struct object *create_console_server( void )
return NULL;
}
allow_fd_caching(server->fd);
@ -76,7 +92,7 @@ index dd1bf8f4119..887bba4e63c 100644
return &server->obj;
}
@@ -1388,6 +1404,8 @@ DECL_HANDLER(get_next_console_request)
@@ -1513,6 +1529,8 @@ DECL_HANDLER(get_next_console_request)
/* set result of previous ioctl */
ioctl = LIST_ENTRY( list_head( &server->queue ), struct console_host_ioctl, entry );
list_remove( &ioctl->entry );
@ -85,7 +101,7 @@ index dd1bf8f4119..887bba4e63c 100644
}
if (ioctl)
@@ -1486,6 +1504,8 @@ DECL_HANDLER(get_next_console_request)
@@ -1598,6 +1616,8 @@ DECL_HANDLER(get_next_console_request)
{
set_error( STATUS_PENDING );
}
@ -95,5 +111,5 @@ index dd1bf8f4119..887bba4e63c 100644
release_object( server );
}
--
2.29.2
2.34.1

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "533616d23f9832596e41f839356830c7679df930"
echo "2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb"
}
# Show version information

View File

@ -1 +1 @@
533616d23f9832596e41f839356830c7679df930
2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb