Add missing server object operations to struct context.

Missed by yesterday's rebase.
This commit is contained in:
Zebediah Figura 2020-04-23 10:57:26 -05:00
parent 2c2eabb5c0
commit abc772e286
2 changed files with 190 additions and 175 deletions

View File

@ -1,11 +1,10 @@
From c9b1a52208d85b3f35e7b842f0b930e9ff8d40e8 Mon Sep 17 00:00:00 2001
From 66e4235ff8436b648ad7db3e5163bb73bcc8b6e5 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 13/83] server: Add an object operation to grab the esync file
Subject: [PATCH] server: Add an object operation to grab the esync file
descriptor.
Split off to decrease patch size.
---
server/async.c | 2 ++
server/atom.c | 1 +
@ -37,17 +36,17 @@ Split off to decrease patch size.
server/snapshot.c | 1 +
server/sock.c | 2 ++
server/symlink.c | 1 +
server/thread.c | 2 ++
server/thread.c | 3 +++
server/timer.c | 1 +
server/token.c | 1 +
server/winstation.c | 2 ++
34 files changed, 61 insertions(+)
34 files changed, 62 insertions(+)
diff --git a/server/async.c b/server/async.c
index b88dd1680..75989e5d3 100644
index 03994e8fac2..cadd3563232 100644
--- a/server/async.c
+++ b/server/async.c
@@ -69,6 +69,7 @@ static const struct object_ops async_ops =
@@ -70,6 +70,7 @@ static const struct object_ops async_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
async_signaled, /* signaled */
@ -55,7 +54,7 @@ index b88dd1680..75989e5d3 100644
async_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -458,6 +459,7 @@ static const struct object_ops iosb_ops =
@@ -483,6 +484,7 @@ static const struct object_ops iosb_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -64,7 +63,7 @@ index b88dd1680..75989e5d3 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/atom.c b/server/atom.c
index 35db8e3e9..11b7ac532 100644
index 57aff7b8918..a3b0d83f68d 100644
--- a/server/atom.c
+++ b/server/atom.c
@@ -80,6 +80,7 @@ static const struct object_ops atom_table_ops =
@ -76,10 +75,10 @@ index 35db8e3e9..11b7ac532 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/change.c b/server/change.c
index ec0a549aa..82e08359c 100644
index 6091d21f7f2..2be6a8360dd 100644
--- a/server/change.c
+++ b/server/change.c
@@ -162,6 +162,7 @@ static const struct object_ops dir_ops =
@@ -115,6 +115,7 @@ static const struct object_ops dir_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -88,7 +87,7 @@ index ec0a549aa..82e08359c 100644
no_signal, /* signal */
dir_get_fd, /* get_fd */
diff --git a/server/clipboard.c b/server/clipboard.c
index e6884dd75..673aabbd0 100644
index e6884dd75fa..673aabbd080 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -77,6 +77,7 @@ static const struct object_ops clipboard_ops =
@ -100,10 +99,10 @@ index e6884dd75..673aabbd0 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/completion.c b/server/completion.c
index aa60043bb..ed448b4d3 100644
index db04727b93b..4da2ed844aa 100644
--- a/server/completion.c
+++ b/server/completion.c
@@ -65,6 +65,7 @@ static const struct object_ops completion_ops =
@@ -64,6 +64,7 @@ static const struct object_ops completion_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
completion_signaled, /* signaled */
@ -112,10 +111,10 @@ index aa60043bb..ed448b4d3 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/console.c b/server/console.c
index 7d1fc5d26..059839e06 100644
index 5feb1c2ba7a..4100cb1c0ae 100644
--- a/server/console.c
+++ b/server/console.c
@@ -77,6 +77,7 @@ static const struct object_ops console_input_ops =
@@ -84,6 +84,7 @@ static const struct object_ops console_input_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -123,7 +122,7 @@ index 7d1fc5d26..059839e06 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_input_get_fd, /* get_fd */
@@ -112,6 +113,7 @@ static const struct object_ops console_input_events_ops =
@@ -119,6 +120,7 @@ static const struct object_ops console_input_events_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
console_input_events_signaled, /* signaled */
@ -131,7 +130,7 @@ index 7d1fc5d26..059839e06 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -169,6 +171,7 @@ static const struct object_ops screen_buffer_ops =
@@ -180,6 +182,7 @@ static const struct object_ops screen_buffer_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -140,10 +139,10 @@ index 7d1fc5d26..059839e06 100644
no_signal, /* signal */
screen_buffer_get_fd, /* get_fd */
diff --git a/server/debugger.c b/server/debugger.c
index bff813a16..9a29ef41f 100644
index 401ce36a47a..ad581be8458 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -74,6 +74,7 @@ static const struct object_ops debug_event_ops =
@@ -73,6 +73,7 @@ static const struct object_ops debug_event_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
debug_event_signaled, /* signaled */
@ -151,7 +150,7 @@ index bff813a16..9a29ef41f 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -101,6 +102,7 @@ static const struct object_ops debug_ctx_ops =
@@ -100,6 +101,7 @@ static const struct object_ops debug_ctx_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
debug_ctx_signaled, /* signaled */
@ -160,10 +159,10 @@ index bff813a16..9a29ef41f 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/device.c b/server/device.c
index 9e250a8a9..67505d99c 100644
index 01e08f295f7..368f6cf9c11 100644
--- a/server/device.c
+++ b/server/device.c
@@ -66,6 +66,7 @@ static const struct object_ops irp_call_ops =
@@ -68,6 +68,7 @@ static const struct object_ops irp_call_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
irp_call_signaled, /* signaled */
@ -171,7 +170,7 @@ index 9e250a8a9..67505d99c 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -104,6 +105,7 @@ static const struct object_ops device_manager_ops =
@@ -107,6 +108,7 @@ static const struct object_ops device_manager_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
device_manager_signaled, /* signaled */
@ -179,7 +178,7 @@ index 9e250a8a9..67505d99c 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -146,6 +148,7 @@ static const struct object_ops device_ops =
@@ -150,6 +152,7 @@ static const struct object_ops device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -187,7 +186,7 @@ index 9e250a8a9..67505d99c 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -192,6 +195,7 @@ static const struct object_ops device_file_ops =
@@ -199,6 +202,7 @@ static const struct object_ops device_file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -196,10 +195,10 @@ index 9e250a8a9..67505d99c 100644
no_signal, /* signal */
device_file_get_fd, /* get_fd */
diff --git a/server/directory.c b/server/directory.c
index 4d0af8470..5972e5ae3 100644
index 30cdd79b4a6..8083c686e11 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -58,6 +58,7 @@ static const struct object_ops object_type_ops =
@@ -57,6 +57,7 @@ static const struct object_ops object_type_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -207,7 +206,7 @@ index 4d0af8470..5972e5ae3 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -96,6 +97,7 @@ static const struct object_ops directory_ops =
@@ -93,6 +94,7 @@ static const struct object_ops directory_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -216,7 +215,7 @@ index 4d0af8470..5972e5ae3 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/esync.c b/server/esync.c
index 147fb7724..f3a139da4 100644
index 147fb77247d..f3a139da48b 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -53,6 +53,7 @@ static const struct object_ops esync_ops =
@ -228,7 +227,7 @@ index 147fb7724..f3a139da4 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/event.c b/server/event.c
index 511a70564..f78c12d26 100644
index d339d85aa45..84354bacbd2 100644
--- a/server/event.c
+++ b/server/event.c
@@ -60,6 +60,7 @@ static const struct object_ops event_ops =
@ -248,10 +247,10 @@ index 511a70564..f78c12d26 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/fd.c b/server/fd.c
index 309eb5ebf..a855c27d5 100644
index cc8df828a65..8e544ea95c1 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -208,6 +208,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 */
@ -259,7 +258,7 @@ index 309eb5ebf..a855c27d5 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -248,6 +249,7 @@ static const struct object_ops device_ops =
@@ -252,6 +253,7 @@ static const struct object_ops device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -267,7 +266,7 @@ index 309eb5ebf..a855c27d5 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -287,6 +289,7 @@ static const struct object_ops inode_ops =
@@ -291,6 +293,7 @@ static const struct object_ops inode_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -275,7 +274,7 @@ index 309eb5ebf..a855c27d5 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -328,6 +331,7 @@ static const struct object_ops file_lock_ops =
@@ -332,6 +335,7 @@ static const struct object_ops file_lock_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
file_lock_signaled, /* signaled */
@ -284,10 +283,10 @@ index 309eb5ebf..a855c27d5 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/file.c b/server/file.c
index 9890f51e8..aa19b2b4c 100644
index bce202138e0..8ab254d1abf 100644
--- a/server/file.c
+++ b/server/file.c
@@ -94,6 +94,7 @@ static const struct object_ops file_ops =
@@ -86,6 +86,7 @@ static const struct object_ops file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -296,7 +295,7 @@ index 9890f51e8..aa19b2b4c 100644
no_signal, /* signal */
file_get_fd, /* get_fd */
diff --git a/server/handle.c b/server/handle.c
index e40e9e95d..fc4e32f2f 100644
index a2a8bb5479c..6ca4489a828 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -123,6 +123,7 @@ static const struct object_ops handle_table_ops =
@ -308,7 +307,7 @@ index e40e9e95d..fc4e32f2f 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/hook.c b/server/hook.c
index ec6be5824..f5d7639fd 100644
index ec6be582482..f5d7639fd74 100644
--- a/server/hook.c
+++ b/server/hook.c
@@ -81,6 +81,7 @@ static const struct object_ops hook_table_ops =
@ -320,10 +319,10 @@ index ec6be5824..f5d7639fd 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/mailslot.c b/server/mailslot.c
index 9934884dc..a1ed2815c 100644
index 781e6f3141a..3523e18d8f6 100644
--- a/server/mailslot.c
+++ b/server/mailslot.c
@@ -79,6 +79,7 @@ static const struct object_ops mailslot_ops =
@@ -78,6 +78,7 @@ static const struct object_ops mailslot_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -331,7 +330,7 @@ index 9934884dc..a1ed2815c 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
mailslot_get_fd, /* get_fd */
@@ -136,6 +137,7 @@ static const struct object_ops mail_writer_ops =
@@ -135,6 +136,7 @@ static const struct object_ops mail_writer_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -339,7 +338,7 @@ index 9934884dc..a1ed2815c 100644
NULL, /* satisfied */
no_signal, /* signal */
mail_writer_get_fd, /* get_fd */
@@ -194,6 +196,7 @@ static const struct object_ops mailslot_device_ops =
@@ -193,6 +195,7 @@ static const struct object_ops mailslot_device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -348,7 +347,7 @@ index 9934884dc..a1ed2815c 100644
no_signal, /* signal */
mailslot_device_get_fd, /* get_fd */
diff --git a/server/mapping.c b/server/mapping.c
index 0d0976a34..01e3f6760 100644
index 3d794bfaaf9..b19403b18f9 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -91,6 +91,7 @@ static const struct object_ops ranges_ops =
@ -376,7 +375,7 @@ index 0d0976a34..01e3f6760 100644
no_signal, /* signal */
mapping_get_fd, /* get_fd */
diff --git a/server/mutex.c b/server/mutex.c
index a7ac1759c..d1505c959 100644
index 8a8f7248eae..f5f969b3d6e 100644
--- a/server/mutex.c
+++ b/server/mutex.c
@@ -61,6 +61,7 @@ static const struct object_ops mutex_ops =
@ -388,7 +387,7 @@ index a7ac1759c..d1505c959 100644
mutex_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 695684b53..aa3a8b7b7 100644
index f97b1416415..d2ac7223b37 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -118,6 +118,7 @@ static const struct object_ops named_pipe_ops =
@ -432,7 +431,7 @@ index 695684b53..aa3a8b7b7 100644
no_signal, /* signal */
named_pipe_device_file_get_fd, /* get_fd */
diff --git a/server/object.h b/server/object.h
index a9aca35b2..592b76617 100644
index 3144eb56678..9299d844828 100644
--- a/server/object.h
+++ b/server/object.h
@@ -68,6 +68,8 @@ struct object_ops
@ -445,10 +444,10 @@ index a9aca35b2..592b76617 100644
void (*satisfied)(struct object *,struct wait_queue_entry *);
/* signal an object */
diff --git a/server/process.c b/server/process.c
index edd41294e..a96972e6b 100644
index 2876bbfe67f..af370245c78 100644
--- a/server/process.c
+++ b/server/process.c
@@ -76,6 +76,7 @@ static const struct object_ops process_ops =
@@ -77,6 +77,7 @@ static const struct object_ops process_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
process_signaled, /* signaled */
@ -456,7 +455,7 @@ index edd41294e..a96972e6b 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -126,6 +127,7 @@ static const struct object_ops startup_info_ops =
@@ -127,6 +128,7 @@ static const struct object_ops startup_info_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
startup_info_signaled, /* signaled */
@ -464,7 +463,7 @@ index edd41294e..a96972e6b 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -170,6 +172,7 @@ static const struct object_ops job_ops =
@@ -171,6 +173,7 @@ static const struct object_ops job_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
job_signaled, /* signaled */
@ -473,7 +472,7 @@ index edd41294e..a96972e6b 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/queue.c b/server/queue.c
index eb7b346f6..3817ce543 100644
index 05dd5059bc4..1fc1043a38b 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -178,6 +178,7 @@ static const struct object_ops msg_queue_ops =
@ -493,10 +492,10 @@ index eb7b346f6..3817ce543 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/registry.c b/server/registry.c
index 304fa1a11..85321d417 100644
index dcbb3f791e1..ec30b7b2355 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -167,6 +167,7 @@ static const struct object_ops key_ops =
@@ -159,6 +159,7 @@ static const struct object_ops key_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -505,10 +504,10 @@ index 304fa1a11..85321d417 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/request.c b/server/request.c
index 139d643e8..73878cf23 100644
index 321bb6cfa81..4807ca9398f 100644
--- a/server/request.c
+++ b/server/request.c
@@ -97,6 +97,7 @@ static const struct object_ops master_socket_ops =
@@ -96,6 +96,7 @@ static const struct object_ops master_socket_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -517,7 +516,7 @@ index 139d643e8..73878cf23 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/semaphore.c b/server/semaphore.c
index 33615047e..9cab1db60 100644
index 6e2415fd79a..36e3e79e5d6 100644
--- a/server/semaphore.c
+++ b/server/semaphore.c
@@ -58,6 +58,7 @@ static const struct object_ops semaphore_ops =
@ -529,7 +528,7 @@ index 33615047e..9cab1db60 100644
semaphore_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/serial.c b/server/serial.c
index 429247261..2848e1dc7 100644
index 4292472613a..2848e1dc795 100644
--- a/server/serial.c
+++ b/server/serial.c
@@ -92,6 +92,7 @@ static const struct object_ops serial_ops =
@ -541,7 +540,7 @@ index 429247261..2848e1dc7 100644
no_signal, /* signal */
serial_get_fd, /* get_fd */
diff --git a/server/signal.c b/server/signal.c
index c81f6b8e9..ca200394f 100644
index c81f6b8e989..ca200394f7e 100644
--- a/server/signal.c
+++ b/server/signal.c
@@ -67,6 +67,7 @@ static const struct object_ops handler_ops =
@ -553,7 +552,7 @@ index c81f6b8e9..ca200394f 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/snapshot.c b/server/snapshot.c
index 2b7438c00..7d0d742ee 100644
index 2b7438c00e0..7d0d742ee9e 100644
--- a/server/snapshot.c
+++ b/server/snapshot.c
@@ -61,6 +61,7 @@ static const struct object_ops snapshot_ops =
@ -565,10 +564,10 @@ index 2b7438c00..7d0d742ee 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/sock.c b/server/sock.c
index a8f8e0c38..d2c5795b6 100644
index 5095a6ef9f0..4a10aaccf94 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -146,6 +146,7 @@ static const struct object_ops sock_ops =
@@ -144,6 +144,7 @@ static const struct object_ops sock_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
sock_signaled, /* signaled */
@ -576,7 +575,7 @@ index a8f8e0c38..d2c5795b6 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
sock_get_fd, /* get_fd */
@@ -995,6 +996,7 @@ static const struct object_ops ifchange_ops =
@@ -959,6 +960,7 @@ static const struct object_ops ifchange_ops =
add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -585,7 +584,7 @@ index a8f8e0c38..d2c5795b6 100644
no_signal, /* signal */
ifchange_get_fd, /* get_fd */
diff --git a/server/symlink.c b/server/symlink.c
index 9a8914881..df590ab7f 100644
index e5ee09f015a..b4b6a44616e 100644
--- a/server/symlink.c
+++ b/server/symlink.c
@@ -60,6 +60,7 @@ static const struct object_ops symlink_ops =
@ -597,7 +596,7 @@ index 9a8914881..df590ab7f 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/thread.c b/server/thread.c
index ca976b29c..cf401f79b 100644
index e9918408f64..067037449be 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -110,6 +110,7 @@ static const struct object_ops thread_apc_ops =
@ -608,7 +607,15 @@ index ca976b29c..cf401f79b 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -143,6 +144,7 @@ static const struct object_ops thread_ops =
@@ -146,6 +147,7 @@ static const struct object_ops context_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
context_signaled, /* signaled */
+ NULL, /* get_esync_fd */
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -180,6 +182,7 @@ static const struct object_ops thread_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
thread_signaled, /* signaled */
@ -617,7 +624,7 @@ index ca976b29c..cf401f79b 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/timer.c b/server/timer.c
index 7a2057d1b..109aa0ff9 100644
index 6460acbf519..8ce19c01177 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -65,6 +65,7 @@ static const struct object_ops timer_ops =
@ -629,10 +636,10 @@ index 7a2057d1b..109aa0ff9 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/token.c b/server/token.c
index eb0d73992..42ac6de6b 100644
index 23bc1cc13f7..5e47d76ef40 100644
--- a/server/token.c
+++ b/server/token.c
@@ -152,6 +152,7 @@ static const struct object_ops token_ops =
@@ -150,6 +150,7 @@ static const struct object_ops token_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -641,10 +648,10 @@ index eb0d73992..42ac6de6b 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/winstation.c b/server/winstation.c
index 55600fbe9..9e4238292 100644
index 43d112334d4..d7c1a8ca8bf 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -65,6 +65,7 @@ static const struct object_ops winstation_ops =
@@ -64,6 +64,7 @@ static const struct object_ops winstation_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -652,7 +659,7 @@ index 55600fbe9..9e4238292 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -89,6 +90,7 @@ static const struct object_ops desktop_ops =
@@ -88,6 +89,7 @@ static const struct object_ops desktop_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@ -661,5 +668,5 @@ index 55600fbe9..9e4238292 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
--
2.20.1
2.26.0

View File

@ -1,52 +1,52 @@
From dd64d40615a77f0588cc6a5608d098ca6ba724d6 Mon Sep 17 00:00:00 2001
From 600ea7fc2412aab4970a3c7c54cd00c801a79f7f Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 4 Dec 2015 10:36:47 +0100
Subject: [PATCH] server: Introduce a new alloc_handle object callback. (v2)
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
---
server/async.c | 2 ++
server/atom.c | 1 +
server/change.c | 1 +
server/clipboard.c | 1 +
server/completion.c | 1 +
server/console.c | 3 +++
server/debugger.c | 2 ++
server/device.c | 4 ++++
server/directory.c | 2 ++
server/esync.c | 1 +
server/event.c | 2 ++
server/fd.c | 4 ++++
server/file.c | 1 +
server/handle.c | 13 +++++++++++--
server/hook.c | 1 +
server/mailslot.c | 3 +++
server/mapping.c | 3 +++
server/mutex.c | 1 +
server/named_pipe.c | 7 ++++++-
server/object.c | 4 ++++
server/object.h | 5 ++++-
server/process.c | 3 +++
server/queue.c | 2 ++
server/registry.c | 1 +
server/request.c | 1 +
server/semaphore.c | 1 +
server/serial.c | 1 +
server/signal.c | 1 +
server/snapshot.c | 1 +
server/sock.c | 2 ++
server/symlink.c | 1 +
server/thread.c | 2 ++
server/timer.c | 1 +
server/token.c | 1 +
server/winstation.c | 2 ++
36 files changed, 79 insertions(+), 5 deletions(-)
server/async.c | 2 ++
server/atom.c | 1 +
server/change.c | 1 +
server/clipboard.c | 1 +
server/completion.c | 1 +
server/console.c | 3 +++
server/debugger.c | 2 ++
server/device.c | 4 ++++
server/directory.c | 2 ++
server/esync.c | 1 +
server/event.c | 2 ++
server/fd.c | 4 ++++
server/file.c | 1 +
server/handle.c | 13 +++++++++++--
server/hook.c | 1 +
server/mailslot.c | 3 +++
server/mapping.c | 3 +++
server/mutex.c | 1 +
server/named_pipe.c | 7 ++++++-
server/object.c | 4 ++++
server/object.h | 5 ++++-
server/process.c | 3 +++
server/queue.c | 2 ++
server/registry.c | 1 +
server/request.c | 1 +
server/semaphore.c | 1 +
server/serial.c | 1 +
server/signal.c | 1 +
server/snapshot.c | 1 +
server/sock.c | 2 ++
server/symlink.c | 1 +
server/thread.c | 3 +++
server/timer.c | 1 +
server/token.c | 1 +
server/winstation.c | 2 ++
35 files changed, 79 insertions(+), 4 deletions(-)
diff --git a/server/async.c b/server/async.c
index 75989e5..b5aff66 100644
index cadd3563232..4d39c4896f6 100644
--- a/server/async.c
+++ b/server/async.c
@@ -81,6 +81,7 @@ static const struct object_ops async_ops =
@@ -82,6 +82,7 @@ static const struct object_ops async_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -54,7 +54,7 @@ index 75989e5..b5aff66 100644
no_close_handle, /* close_handle */
async_destroy /* destroy */
};
@@ -471,6 +472,7 @@ static const struct object_ops iosb_ops =
@@ -496,6 +497,7 @@ static const struct object_ops iosb_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -63,7 +63,7 @@ index 75989e5..b5aff66 100644
iosb_destroy /* destroy */
};
diff --git a/server/atom.c b/server/atom.c
index 11b7ac5..e27b6f4 100644
index a3b0d83f68d..96717a154f0 100644
--- a/server/atom.c
+++ b/server/atom.c
@@ -92,6 +92,7 @@ static const struct object_ops atom_table_ops =
@ -75,7 +75,7 @@ index 11b7ac5..e27b6f4 100644
atom_table_destroy /* destroy */
};
diff --git a/server/change.c b/server/change.c
index 9f07be7..1c38431 100644
index 9f07be705d7..1c384310d59 100644
--- a/server/change.c
+++ b/server/change.c
@@ -127,6 +127,7 @@ static const struct object_ops dir_ops =
@ -87,7 +87,7 @@ index 9f07be7..1c38431 100644
dir_destroy /* destroy */
};
diff --git a/server/clipboard.c b/server/clipboard.c
index 673aabb..5888754 100644
index 673aabbd080..588875439a5 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -89,6 +89,7 @@ static const struct object_ops clipboard_ops =
@ -99,10 +99,10 @@ index 673aabb..5888754 100644
clipboard_destroy /* destroy */
};
diff --git a/server/completion.c b/server/completion.c
index 1a074c8..c0d2ccf 100644
index 4da2ed844aa..857662afb29 100644
--- a/server/completion.c
+++ b/server/completion.c
@@ -77,6 +77,7 @@ static const struct object_ops completion_ops =
@@ -76,6 +76,7 @@ static const struct object_ops completion_ops =
default_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -111,10 +111,10 @@ index 1a074c8..c0d2ccf 100644
completion_destroy /* destroy */
};
diff --git a/server/console.c b/server/console.c
index c322708..f437e74 100644
index fdf3d3c6889..806293a546a 100644
--- a/server/console.c
+++ b/server/console.c
@@ -90,6 +90,7 @@ static const struct object_ops console_input_ops =
@@ -97,6 +97,7 @@ static const struct object_ops console_input_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -122,7 +122,7 @@ index c322708..f437e74 100644
no_close_handle, /* close_handle */
console_input_destroy /* destroy */
};
@@ -128,6 +129,7 @@ static const struct object_ops console_input_events_ops =
@@ -135,6 +136,7 @@ static const struct object_ops console_input_events_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -130,7 +130,7 @@ index c322708..f437e74 100644
no_close_handle, /* close_handle */
console_input_events_destroy /* destroy */
};
@@ -186,6 +188,7 @@ static const struct object_ops screen_buffer_ops =
@@ -197,6 +199,7 @@ static const struct object_ops screen_buffer_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -139,10 +139,10 @@ index c322708..f437e74 100644
screen_buffer_destroy /* destroy */
};
diff --git a/server/debugger.c b/server/debugger.c
index 9a29ef4..1c68ee0 100644
index ad581be8458..0bab7485101 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -86,6 +86,7 @@ static const struct object_ops debug_event_ops =
@@ -85,6 +85,7 @@ static const struct object_ops debug_event_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -150,7 +150,7 @@ index 9a29ef4..1c68ee0 100644
no_close_handle, /* close_handle */
debug_event_destroy /* destroy */
};
@@ -114,6 +115,7 @@ static const struct object_ops debug_ctx_ops =
@@ -113,6 +114,7 @@ static const struct object_ops debug_ctx_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -159,10 +159,10 @@ index 9a29ef4..1c68ee0 100644
debug_ctx_destroy /* destroy */
};
diff --git a/server/device.c b/server/device.c
index 5eff624..54fe311 100644
index 17260340aad..3380d00fd54 100644
--- a/server/device.c
+++ b/server/device.c
@@ -79,6 +79,7 @@ static const struct object_ops irp_call_ops =
@@ -81,6 +81,7 @@ static const struct object_ops irp_call_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -170,7 +170,7 @@ index 5eff624..54fe311 100644
no_close_handle, /* close_handle */
irp_call_destroy /* destroy */
};
@@ -120,6 +121,7 @@ static const struct object_ops device_manager_ops =
@@ -123,6 +124,7 @@ static const struct object_ops device_manager_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -178,7 +178,7 @@ index 5eff624..54fe311 100644
no_close_handle, /* close_handle */
device_manager_destroy /* destroy */
};
@@ -164,6 +166,7 @@ static const struct object_ops device_ops =
@@ -167,6 +169,7 @@ static const struct object_ops device_ops =
default_unlink_name, /* unlink_name */
device_open_file, /* open_file */
device_get_kernel_obj_list, /* get_kernel_obj_list */
@ -186,7 +186,7 @@ index 5eff624..54fe311 100644
no_close_handle, /* close_handle */
device_destroy /* destroy */
};
@@ -213,6 +216,7 @@ static const struct object_ops device_file_ops =
@@ -217,6 +220,7 @@ static const struct object_ops device_file_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
device_file_get_kernel_obj_list, /* get_kernel_obj_list */
@ -195,7 +195,7 @@ index 5eff624..54fe311 100644
device_file_destroy /* destroy */
};
diff --git a/server/directory.c b/server/directory.c
index 55cbad3..1ab0c73 100644
index 8083c686e11..a1e631d435f 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -69,6 +69,7 @@ static const struct object_ops object_type_ops =
@ -215,10 +215,10 @@ index 55cbad3..1ab0c73 100644
directory_destroy /* destroy */
};
diff --git a/server/esync.c b/server/esync.c
index 4521993..dfdf6a7 100644
index 1b035bdb066..4563b97573a 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -138,6 +138,7 @@ const struct object_ops esync_ops =
@@ -140,6 +140,7 @@ const struct object_ops esync_ops =
default_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -227,7 +227,7 @@ index 4521993..dfdf6a7 100644
esync_destroy /* destroy */
};
diff --git a/server/event.c b/server/event.c
index 79287e7..ad8fddb 100644
index 79287e7edc0..ad8fddbfade 100644
--- a/server/event.c
+++ b/server/event.c
@@ -76,6 +76,7 @@ static const struct object_ops event_ops =
@ -247,10 +247,10 @@ index 79287e7..ad8fddb 100644
no_destroy /* destroy */
};
diff --git a/server/fd.c b/server/fd.c
index 2a38780..e628cdb 100644
index 34e925f0ed7..6a539a282d7 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -222,6 +222,7 @@ static const struct object_ops fd_ops =
@@ -226,6 +226,7 @@ static const struct object_ops fd_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -258,7 +258,7 @@ index 2a38780..e628cdb 100644
no_close_handle, /* close_handle */
fd_destroy /* destroy */
};
@@ -263,6 +264,7 @@ static const struct object_ops device_ops =
@@ -267,6 +268,7 @@ static const struct object_ops device_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -266,7 +266,7 @@ index 2a38780..e628cdb 100644
no_close_handle, /* close_handle */
device_destroy /* destroy */
};
@@ -303,6 +305,7 @@ static const struct object_ops inode_ops =
@@ -307,6 +309,7 @@ static const struct object_ops inode_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -274,7 +274,7 @@ index 2a38780..e628cdb 100644
no_close_handle, /* close_handle */
inode_destroy /* destroy */
};
@@ -345,6 +348,7 @@ static const struct object_ops file_lock_ops =
@@ -349,6 +352,7 @@ static const struct object_ops file_lock_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -283,7 +283,7 @@ index 2a38780..e628cdb 100644
no_destroy /* destroy */
};
diff --git a/server/file.c b/server/file.c
index 3ce7307..fa96ca7 100644
index 8ab254d1abf..7d36ad8e1fb 100644
--- a/server/file.c
+++ b/server/file.c
@@ -98,6 +98,7 @@ static const struct object_ops file_ops =
@ -295,7 +295,7 @@ index 3ce7307..fa96ca7 100644
file_destroy /* destroy */
};
diff --git a/server/handle.c b/server/handle.c
index 6ca4489..879098a 100644
index 6ca4489a828..879098aee85 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -135,6 +135,7 @@ static const struct object_ops handle_table_ops =
@ -340,7 +340,7 @@ index 6ca4489..879098a 100644
}
}
diff --git a/server/hook.c b/server/hook.c
index f5d7639..22b1482 100644
index f5d7639fd74..22b14828977 100644
--- a/server/hook.c
+++ b/server/hook.c
@@ -93,6 +93,7 @@ static const struct object_ops hook_table_ops =
@ -352,10 +352,10 @@ index f5d7639..22b1482 100644
hook_table_destroy /* destroy */
};
diff --git a/server/mailslot.c b/server/mailslot.c
index fc1caa9..57d0775 100644
index 3523e18d8f6..f3e69f0b34f 100644
--- a/server/mailslot.c
+++ b/server/mailslot.c
@@ -91,6 +91,7 @@ static const struct object_ops mailslot_ops =
@@ -90,6 +90,7 @@ static const struct object_ops mailslot_ops =
default_unlink_name, /* unlink_name */
mailslot_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -363,7 +363,7 @@ index fc1caa9..57d0775 100644
fd_close_handle, /* close_handle */
mailslot_destroy /* destroy */
};
@@ -149,6 +150,7 @@ static const struct object_ops mail_writer_ops =
@@ -148,6 +149,7 @@ static const struct object_ops mail_writer_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -371,7 +371,7 @@ index fc1caa9..57d0775 100644
fd_close_handle, /* close_handle */
mail_writer_destroy /* destroy */
};
@@ -208,6 +210,7 @@ static const struct object_ops mailslot_device_ops =
@@ -207,6 +209,7 @@ static const struct object_ops mailslot_device_ops =
default_unlink_name, /* unlink_name */
mailslot_device_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -380,7 +380,7 @@ index fc1caa9..57d0775 100644
mailslot_device_destroy /* destroy */
};
diff --git a/server/mapping.c b/server/mapping.c
index 1b3df08..819181a 100644
index b19403b18f9..a882d0cda00 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -103,6 +103,7 @@ static const struct object_ops ranges_ops =
@ -408,7 +408,7 @@ index 1b3df08..819181a 100644
mapping_destroy /* destroy */
};
diff --git a/server/mutex.c b/server/mutex.c
index f5f969b..a4ab6bd 100644
index f5f969b3d6e..a4ab6bdb3df 100644
--- a/server/mutex.c
+++ b/server/mutex.c
@@ -73,6 +73,7 @@ static const struct object_ops mutex_ops =
@ -420,7 +420,7 @@ index f5f969b..a4ab6bd 100644
mutex_destroy /* destroy */
};
diff --git a/server/named_pipe.c b/server/named_pipe.c
index ceb9894..6892081 100644
index 51a43e24404..6cd6c0623e0 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -130,6 +130,7 @@ static const struct object_ops named_pipe_ops =
@ -466,10 +466,10 @@ index ceb9894..6892081 100644
named_pipe_device_file_destroy /* destroy */
};
diff --git a/server/object.c b/server/object.c
index 048da50..fbac8f7 100644
index dacfe1d71a0..55321dddd87 100644
--- a/server/object.c
+++ b/server/object.c
@@ -693,6 +693,10 @@ struct object *no_open_file( struct object *obj, unsigned int access, unsigned i
@@ -694,6 +694,10 @@ struct object *no_open_file( struct object *obj, unsigned int access, unsigned i
return NULL;
}
@ -481,7 +481,7 @@ index 048da50..fbac8f7 100644
{
return 1; /* ok to close */
diff --git a/server/object.h b/server/object.h
index ca5a191..d913e65 100644
index e0e8515ba15..c983d1667a8 100644
--- a/server/object.h
+++ b/server/object.h
@@ -93,8 +93,10 @@ struct object_ops
@ -496,7 +496,7 @@ index ca5a191..d913e65 100644
/* destroy on refcount == 0 */
void (*destroy)(struct object *);
};
@@ -169,6 +171,7 @@ extern void default_unlink_name( struct object *obj, struct object_name *name );
@@ -170,6 +172,7 @@ extern void default_unlink_name( struct object *obj, struct object_name *name );
extern struct object *no_open_file( struct object *obj, unsigned int access, unsigned int sharing,
unsigned int options );
extern struct list *no_kernel_obj_list( struct object *obj );
@ -505,7 +505,7 @@ index ca5a191..d913e65 100644
extern void no_destroy( struct object *obj );
#ifdef DEBUG_OBJECTS
diff --git a/server/process.c b/server/process.c
index 69b8189..5d1249e 100644
index 69e5a37eccb..d497723fea5 100644
--- a/server/process.c
+++ b/server/process.c
@@ -91,6 +91,7 @@ static const struct object_ops process_ops =
@ -533,7 +533,7 @@ index 69b8189..5d1249e 100644
job_destroy /* destroy */
};
diff --git a/server/queue.c b/server/queue.c
index 56fa4d9..b5d0677 100644
index ad3ed008f61..3b3cc3910aa 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -194,6 +194,7 @@ static const struct object_ops msg_queue_ops =
@ -553,10 +553,10 @@ index 56fa4d9..b5d0677 100644
thread_input_destroy /* destroy */
};
diff --git a/server/registry.c b/server/registry.c
index 1757fd3..e56134e 100644
index ec30b7b2355..db15f225714 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -172,6 +172,7 @@ static const struct object_ops key_ops =
@@ -171,6 +171,7 @@ static const struct object_ops key_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -565,10 +565,10 @@ index 1757fd3..e56134e 100644
key_destroy /* destroy */
};
diff --git a/server/request.c b/server/request.c
index 73878cf..f089ccc 100644
index 4807ca9398f..6d2011fb444 100644
--- a/server/request.c
+++ b/server/request.c
@@ -109,6 +109,7 @@ static const struct object_ops master_socket_ops =
@@ -108,6 +108,7 @@ static const struct object_ops master_socket_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -577,7 +577,7 @@ index 73878cf..f089ccc 100644
master_socket_destroy /* destroy */
};
diff --git a/server/semaphore.c b/server/semaphore.c
index 36e3e79..1913871 100644
index 36e3e79e5d6..1913871859a 100644
--- a/server/semaphore.c
+++ b/server/semaphore.c
@@ -70,6 +70,7 @@ static const struct object_ops semaphore_ops =
@ -589,7 +589,7 @@ index 36e3e79..1913871 100644
no_destroy /* destroy */
};
diff --git a/server/serial.c b/server/serial.c
index 2848e1d..966b8bc 100644
index 2848e1dc795..966b8bc6b81 100644
--- a/server/serial.c
+++ b/server/serial.c
@@ -104,6 +104,7 @@ static const struct object_ops serial_ops =
@ -601,7 +601,7 @@ index 2848e1d..966b8bc 100644
serial_destroy /* destroy */
};
diff --git a/server/signal.c b/server/signal.c
index ca20039..a2e0efe 100644
index ca200394f7e..a2e0efef121 100644
--- a/server/signal.c
+++ b/server/signal.c
@@ -79,6 +79,7 @@ static const struct object_ops handler_ops =
@ -613,7 +613,7 @@ index ca20039..a2e0efe 100644
handler_destroy /* destroy */
};
diff --git a/server/snapshot.c b/server/snapshot.c
index 7d0d742..2ad9d5d 100644
index 7d0d742ee9e..2ad9d5d7809 100644
--- a/server/snapshot.c
+++ b/server/snapshot.c
@@ -73,6 +73,7 @@ static const struct object_ops snapshot_ops =
@ -625,7 +625,7 @@ index 7d0d742..2ad9d5d 100644
snapshot_destroy /* destroy */
};
diff --git a/server/sock.c b/server/sock.c
index ac83081..d373768 100644
index 4a10aaccf94..f951f23d64a 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -156,6 +156,7 @@ static const struct object_ops sock_ops =
@ -645,7 +645,7 @@ index ac83081..d373768 100644
ifchange_destroy /* destroy */
};
diff --git a/server/symlink.c b/server/symlink.c
index 6b66b23..52387be 100644
index b4b6a44616e..44237bc8b18 100644
--- a/server/symlink.c
+++ b/server/symlink.c
@@ -72,6 +72,7 @@ static const struct object_ops symlink_ops =
@ -657,7 +657,7 @@ index 6b66b23..52387be 100644
symlink_destroy /* destroy */
};
diff --git a/server/thread.c b/server/thread.c
index 8c45419..bcb8526 100644
index 874555bd7b4..92b83ea7f79 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -123,6 +123,7 @@ static const struct object_ops thread_apc_ops =
@ -668,7 +668,15 @@ index 8c45419..bcb8526 100644
no_close_handle, /* close_handle */
thread_apc_destroy /* destroy */
};
@@ -159,6 +160,7 @@ static const struct object_ops thread_ops =
@@ -160,6 +161,7 @@ static const struct object_ops context_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
+ no_alloc_handle, /* alloc_handle */
no_close_handle, /* close_handle */
no_destroy /* destroy */
};
@@ -196,6 +198,7 @@ static const struct object_ops thread_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
thread_get_kernel_obj_list, /* get_kernel_obj_list */
@ -677,7 +685,7 @@ index 8c45419..bcb8526 100644
destroy_thread /* destroy */
};
diff --git a/server/timer.c b/server/timer.c
index f2403fc..75d289c 100644
index 0499080fd0c..279417b9f4c 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -80,6 +80,7 @@ static const struct object_ops timer_ops =
@ -689,10 +697,10 @@ index f2403fc..75d289c 100644
timer_destroy /* destroy */
};
diff --git a/server/token.c b/server/token.c
index 1a41ad0..71f8552 100644
index 5e47d76ef40..1cdab79da70 100644
--- a/server/token.c
+++ b/server/token.c
@@ -164,6 +164,7 @@ static const struct object_ops token_ops =
@@ -162,6 +162,7 @@ static const struct object_ops token_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -701,10 +709,10 @@ index 1a41ad0..71f8552 100644
token_destroy /* destroy */
};
diff --git a/server/winstation.c b/server/winstation.c
index 845043b..d7e8a5c 100644
index d7c1a8ca8bf..32772d4805b 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -77,6 +77,7 @@ static const struct object_ops winstation_ops =
@@ -76,6 +76,7 @@ static const struct object_ops winstation_ops =
default_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -712,7 +720,7 @@ index 845043b..d7e8a5c 100644
winstation_close_handle, /* close_handle */
winstation_destroy /* destroy */
};
@@ -102,6 +103,7 @@ static const struct object_ops desktop_ops =
@@ -101,6 +102,7 @@ static const struct object_ops desktop_ops =
default_unlink_name, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
@ -721,5 +729,5 @@ index 845043b..d7e8a5c 100644
desktop_destroy /* destroy */
};
--
1.9.1
2.26.0