Rebase against 4c7f3f8af856888f5ab020b2a32d0b01db0c82f7.

This commit is contained in:
Sebastian Lackner
2016-12-12 04:28:52 +01:00
parent 0d616d719e
commit 6f120f6a56
28 changed files with 280 additions and 990 deletions

View File

@@ -1,11 +1,11 @@
From 20f08d1d7a69425048bd824722097e5c04e1d1de Mon Sep 17 00:00:00 2001
From 3cd055a78a35711b9ec0ee3df327e4786a5ca986 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 4 Dec 2015 10:36:47 +0100
Subject: server: Introduce a new alloc_handle object callback. (v2)
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
---
server/async.c | 2 ++
server/async.c | 3 +++
server/atom.c | 1 +
server/change.c | 1 +
server/clipboard.c | 1 +
@@ -39,13 +39,13 @@ Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
server/timer.c | 1 +
server/token.c | 1 +
server/winstation.c | 2 ++
34 files changed, 73 insertions(+), 3 deletions(-)
34 files changed, 74 insertions(+), 3 deletions(-)
diff --git a/server/async.c b/server/async.c
index 64aa27a..bc74173 100644
index ec46103..38ea0fb 100644
--- a/server/async.c
+++ b/server/async.c
@@ -68,6 +68,7 @@ static const struct object_ops async_ops =
@@ -72,6 +72,7 @@ static const struct object_ops async_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -53,7 +53,7 @@ index 64aa27a..bc74173 100644
no_close_handle, /* close_handle */
async_destroy /* destroy */
};
@@ -103,6 +104,7 @@ static const struct object_ops async_queue_ops =
@@ -107,6 +108,7 @@ static const struct object_ops async_queue_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -61,6 +61,14 @@ index 64aa27a..bc74173 100644
no_close_handle, /* close_handle */
async_queue_destroy /* destroy */
};
@@ -417,6 +419,7 @@ static const struct object_ops iosb_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
+ no_alloc_handle, /* alloc_handle */
no_close_handle, /* close_handle */
iosb_destroy /* destroy */
};
diff --git a/server/atom.c b/server/atom.c
index 3ff7540..7bebf13 100644
--- a/server/atom.c
@@ -74,7 +82,7 @@ index 3ff7540..7bebf13 100644
atom_table_destroy /* destroy */
};
diff --git a/server/change.c b/server/change.c
index 7c0ca99..753bf66 100644
index d7ebf3b..ac48cce 100644
--- a/server/change.c
+++ b/server/change.c
@@ -172,6 +172,7 @@ static const struct object_ops dir_ops =
@@ -86,10 +94,10 @@ index 7c0ca99..753bf66 100644
dir_destroy /* destroy */
};
diff --git a/server/clipboard.c b/server/clipboard.c
index 8396ec3..73028e4 100644
index a93319a..4dd4b50 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -72,6 +72,7 @@ static const struct object_ops clipboard_ops =
@@ -86,6 +86,7 @@ static const struct object_ops clipboard_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -110,7 +118,7 @@ index 8b8983a..72dbc5b 100644
completion_destroy /* destroy */
};
diff --git a/server/console.c b/server/console.c
index 32d3137..4fcb1e6 100644
index 5b69e76..832f0d4 100644
--- a/server/console.c
+++ b/server/console.c
@@ -87,6 +87,7 @@ static const struct object_ops console_input_ops =
@@ -158,10 +166,10 @@ index 2eb794a..a2c07ba 100644
debug_ctx_destroy /* destroy */
};
diff --git a/server/device.c b/server/device.c
index e4f55c7..071b71f 100644
index 975507e..2abe695 100644
--- a/server/device.c
+++ b/server/device.c
@@ -81,6 +81,7 @@ static const struct object_ops irp_call_ops =
@@ -76,6 +76,7 @@ static const struct object_ops irp_call_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -169,7 +177,7 @@ index e4f55c7..071b71f 100644
no_close_handle, /* close_handle */
irp_call_destroy /* destroy */
};
@@ -117,6 +118,7 @@ static const struct object_ops device_manager_ops =
@@ -112,6 +113,7 @@ static const struct object_ops device_manager_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -177,7 +185,7 @@ index e4f55c7..071b71f 100644
no_close_handle, /* close_handle */
device_manager_destroy /* destroy */
};
@@ -158,6 +160,7 @@ static const struct object_ops device_ops =
@@ -153,6 +155,7 @@ static const struct object_ops device_ops =
directory_link_name, /* link_name */
default_unlink_name, /* unlink_name */
device_open_file, /* open_file */
@@ -185,7 +193,7 @@ index e4f55c7..071b71f 100644
no_close_handle, /* close_handle */
device_destroy /* destroy */
};
@@ -206,6 +209,7 @@ static const struct object_ops device_file_ops =
@@ -201,6 +204,7 @@ static const struct object_ops device_file_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -234,7 +242,7 @@ index cfc0f6a..608fafb 100644
no_destroy /* destroy */
};
diff --git a/server/fd.c b/server/fd.c
index 17b1b66..3e0a62b 100644
index 3ccd0f8..8a961a5 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -217,6 +217,7 @@ static const struct object_ops fd_ops =
@@ -270,7 +278,7 @@ index 17b1b66..3e0a62b 100644
no_destroy /* destroy */
};
diff --git a/server/file.c b/server/file.c
index dacb24a..fcf18e5 100644
index 2f5371d..359cf7a 100644
--- a/server/file.c
+++ b/server/file.c
@@ -95,6 +95,7 @@ static const struct object_ops file_ops =
@@ -339,7 +347,7 @@ index 3a0e4b4..dc653b8 100644
hook_table_destroy /* destroy */
};
diff --git a/server/mailslot.c b/server/mailslot.c
index 13e6703..021ef99 100644
index 783b28b..077547f 100644
--- a/server/mailslot.c
+++ b/server/mailslot.c
@@ -89,6 +89,7 @@ static const struct object_ops mailslot_ops =
@@ -350,7 +358,7 @@ index 13e6703..021ef99 100644
fd_close_handle, /* close_handle */
mailslot_destroy /* destroy */
};
@@ -144,6 +145,7 @@ static const struct object_ops mail_writer_ops =
@@ -143,6 +144,7 @@ static const struct object_ops mail_writer_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -358,7 +366,7 @@ index 13e6703..021ef99 100644
fd_close_handle, /* close_handle */
mail_writer_destroy /* destroy */
};
@@ -200,6 +202,7 @@ static const struct object_ops mailslot_device_ops =
@@ -198,6 +200,7 @@ static const struct object_ops mailslot_device_ops =
directory_link_name, /* link_name */
default_unlink_name, /* unlink_name */
mailslot_device_open_file, /* open_file */
@@ -367,7 +375,7 @@ index 13e6703..021ef99 100644
mailslot_device_destroy /* destroy */
};
diff --git a/server/mapping.c b/server/mapping.c
index f82907b..7c7759b 100644
index f03ea7a..a465bf5 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -94,6 +94,7 @@ static const struct object_ops mapping_ops =
@@ -391,10 +399,10 @@ index d1887e4..a2a0a24 100644
mutex_destroy /* destroy */
};
diff --git a/server/named_pipe.c b/server/named_pipe.c
index cfee4d5..cffa254 100644
index 3245688..8ed4b97 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -135,6 +135,7 @@ static const struct object_ops named_pipe_ops =
@@ -134,6 +134,7 @@ static const struct object_ops named_pipe_ops =
named_pipe_link_name, /* link_name */
default_unlink_name, /* unlink_name */
named_pipe_open_file, /* open_file */
@@ -402,7 +410,7 @@ index cfee4d5..cffa254 100644
no_close_handle, /* close_handle */
named_pipe_destroy /* destroy */
};
@@ -166,6 +167,7 @@ static const struct object_ops pipe_server_ops =
@@ -165,6 +166,7 @@ static const struct object_ops pipe_server_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -410,7 +418,7 @@ index cfee4d5..cffa254 100644
fd_close_handle, /* close_handle */
pipe_server_destroy /* destroy */
};
@@ -210,6 +212,7 @@ static const struct object_ops pipe_client_ops =
@@ -208,6 +210,7 @@ static const struct object_ops pipe_client_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -418,7 +426,7 @@ index cfee4d5..cffa254 100644
fd_close_handle, /* close_handle */
pipe_client_destroy /* destroy */
};
@@ -258,6 +261,7 @@ static const struct object_ops named_pipe_device_ops =
@@ -255,6 +258,7 @@ static const struct object_ops named_pipe_device_ops =
directory_link_name, /* link_name */
default_unlink_name, /* unlink_name */
named_pipe_device_open_file, /* open_file */
@@ -466,7 +474,7 @@ index b5c50e1..72ad852 100644
extern void no_destroy( struct object *obj );
#ifdef DEBUG_OBJECTS
diff --git a/server/process.c b/server/process.c
index 48ada99..8334eaa 100644
index e9e2f21..836c1cb4 100644
--- a/server/process.c
+++ b/server/process.c
@@ -84,6 +84,7 @@ static const struct object_ops process_ops =
@@ -494,7 +502,7 @@ index 48ada99..8334eaa 100644
job_destroy /* destroy */
};
diff --git a/server/queue.c b/server/queue.c
index f82060f..e097f5b 100644
index c479b38..382f14f 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -181,6 +181,7 @@ static const struct object_ops msg_queue_ops =
@@ -514,7 +522,7 @@ index f82060f..e097f5b 100644
thread_input_destroy /* destroy */
};
diff --git a/server/registry.c b/server/registry.c
index 97b16ed..6a38de7 100644
index 0731b22..cfc1534 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -170,6 +170,7 @@ static const struct object_ops key_ops =
@@ -526,7 +534,7 @@ index 97b16ed..6a38de7 100644
key_destroy /* destroy */
};
diff --git a/server/request.c b/server/request.c
index 597bf88..7d88202 100644
index 781889c..d434990 100644
--- a/server/request.c
+++ b/server/request.c
@@ -107,6 +107,7 @@ static const struct object_ops master_socket_ops =
@@ -550,7 +558,7 @@ index 08ff153..15e7392 100644
no_destroy /* destroy */
};
diff --git a/server/serial.c b/server/serial.c
index 03d726a..46949a3 100644
index 6f9cc24..ca4ac1f 100644
--- a/server/serial.c
+++ b/server/serial.c
@@ -106,6 +106,7 @@ static const struct object_ops serial_ops =
@@ -562,7 +570,7 @@ index 03d726a..46949a3 100644
serial_destroy /* destroy */
};
diff --git a/server/signal.c b/server/signal.c
index c20e154..8c05c5f 100644
index 74416fa..4b2b8c4 100644
--- a/server/signal.c
+++ b/server/signal.c
@@ -77,6 +77,7 @@ static const struct object_ops handler_ops =
@@ -586,10 +594,10 @@ index e35588a..6e788ab 100644
snapshot_destroy /* destroy */
};
diff --git a/server/sock.c b/server/sock.c
index dc10d2a..a11964f 100644
index f70a85d..153f901 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -156,6 +156,7 @@ static const struct object_ops sock_ops =
@@ -155,6 +155,7 @@ static const struct object_ops sock_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -597,7 +605,7 @@ index dc10d2a..a11964f 100644
fd_close_handle, /* close_handle */
sock_destroy /* destroy */
};
@@ -1000,6 +1001,7 @@ static const struct object_ops ifchange_ops =
@@ -987,6 +988,7 @@ static const struct object_ops ifchange_ops =
no_link_name, /* link_name */
NULL, /* unlink_name */
no_open_file, /* open_file */
@@ -618,7 +626,7 @@ index 9199bc5..ecc0e43 100644
symlink_destroy /* destroy */
};
diff --git a/server/thread.c b/server/thread.c
index 5f8405b..4069af3 100644
index e18c208..b025f76 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -120,6 +120,7 @@ static const struct object_ops thread_apc_ops =