Rebase against 9b6d198a3c7c8a02aa69c0d3d11829712e9778a6.

This commit is contained in:
Zebediah Figura
2019-04-24 23:17:29 -05:00
parent 4969e2759b
commit f61fe9f16b
14 changed files with 211 additions and 632 deletions

View File

@ -1,4 +1,4 @@
From a0cf4045fe4ac3e3d561824da30fc7998097f97b Mon Sep 17 00:00:00 2001
From 45aa42a648dce6c80d269ff51e7350782fd50ae0 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)
@ -15,6 +15,7 @@ Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
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 +
@ -40,10 +41,10 @@ Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
server/timer.c | 1 +
server/token.c | 1 +
server/winstation.c | 2 ++
35 files changed, 78 insertions(+), 5 deletions(-)
36 files changed, 79 insertions(+), 5 deletions(-)
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index 9e26aa4..973f6df 100644
index 9e26aa4fb..973f6dfe1 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -6677,6 +6677,6 @@ union generic_reply
@ -55,7 +56,7 @@ index 9e26aa4..973f6df 100644
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
diff --git a/server/async.c b/server/async.c
index 75989e5..b5aff66 100644
index 75989e5d3..b5aff667e 100644
--- a/server/async.c
+++ b/server/async.c
@@ -81,6 +81,7 @@ static const struct object_ops async_ops =
@ -75,7 +76,7 @@ index 75989e5..b5aff66 100644
iosb_destroy /* destroy */
};
diff --git a/server/atom.c b/server/atom.c
index 11b7ac5..e27b6f4 100644
index 11b7ac532..e27b6f460 100644
--- a/server/atom.c
+++ b/server/atom.c
@@ -92,6 +92,7 @@ static const struct object_ops atom_table_ops =
@ -87,7 +88,7 @@ index 11b7ac5..e27b6f4 100644
atom_table_destroy /* destroy */
};
diff --git a/server/change.c b/server/change.c
index 2be6a83..dee48ce 100644
index 2be6a8360..dee48ce9f 100644
--- a/server/change.c
+++ b/server/change.c
@@ -127,6 +127,7 @@ static const struct object_ops dir_ops =
@ -99,7 +100,7 @@ index 2be6a83..dee48ce 100644
dir_destroy /* destroy */
};
diff --git a/server/clipboard.c b/server/clipboard.c
index 673aabb..5888754 100644
index 673aabbd0..588875439 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -89,6 +89,7 @@ static const struct object_ops clipboard_ops =
@ -111,7 +112,7 @@ index 673aabb..5888754 100644
clipboard_destroy /* destroy */
};
diff --git a/server/completion.c b/server/completion.c
index 1a074c8..c0d2ccf 100644
index 1a074c801..c0d2ccfcb 100644
--- a/server/completion.c
+++ b/server/completion.c
@@ -77,6 +77,7 @@ static const struct object_ops completion_ops =
@ -123,7 +124,7 @@ index 1a074c8..c0d2ccf 100644
completion_destroy /* destroy */
};
diff --git a/server/console.c b/server/console.c
index c322708..f437e74 100644
index c32270855..f437e7475 100644
--- a/server/console.c
+++ b/server/console.c
@@ -90,6 +90,7 @@ static const struct object_ops console_input_ops =
@ -151,7 +152,7 @@ index c322708..f437e74 100644
screen_buffer_destroy /* destroy */
};
diff --git a/server/debugger.c b/server/debugger.c
index 9a29ef4..1c68ee0 100644
index 9a29ef41f..1c68ee03e 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -86,6 +86,7 @@ static const struct object_ops debug_event_ops =
@ -171,7 +172,7 @@ index 9a29ef4..1c68ee0 100644
debug_ctx_destroy /* destroy */
};
diff --git a/server/device.c b/server/device.c
index 8340cb1..6573bd4 100644
index 8340cb103..6573bd44c 100644
--- a/server/device.c
+++ b/server/device.c
@@ -79,6 +79,7 @@ static const struct object_ops irp_call_ops =
@ -207,7 +208,7 @@ index 8340cb1..6573bd4 100644
device_file_destroy /* destroy */
};
diff --git a/server/directory.c b/server/directory.c
index 55cbad3..1ab0c73 100644
index 55cbad328..1ab0c7335 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -69,6 +69,7 @@ static const struct object_ops object_type_ops =
@ -226,8 +227,20 @@ index 55cbad3..1ab0c73 100644
no_close_handle, /* close_handle */
directory_destroy /* destroy */
};
diff --git a/server/esync.c b/server/esync.c
index 4521993d4..dfdf6a7ed 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -138,6 +138,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 */
+ no_alloc_handle, /* alloc_handle */
no_close_handle, /* close_handle */
esync_destroy /* destroy */
};
diff --git a/server/event.c b/server/event.c
index 79287e7..ad8fddb 100644
index 79287e7ed..ad8fddbfa 100644
--- a/server/event.c
+++ b/server/event.c
@@ -76,6 +76,7 @@ static const struct object_ops event_ops =
@ -247,7 +260,7 @@ index 79287e7..ad8fddb 100644
no_destroy /* destroy */
};
diff --git a/server/fd.c b/server/fd.c
index 2a38780..e628cdb 100644
index 95f289718..c158fefb8 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -222,6 +222,7 @@ static const struct object_ops fd_ops =
@ -283,7 +296,7 @@ index 2a38780..e628cdb 100644
no_destroy /* destroy */
};
diff --git a/server/file.c b/server/file.c
index 3ce7307..fa96ca7 100644
index 25aa6bcbc..b6c7b95d2 100644
--- a/server/file.c
+++ b/server/file.c
@@ -98,6 +98,7 @@ static const struct object_ops file_ops =
@ -295,7 +308,7 @@ index 3ce7307..fa96ca7 100644
file_destroy /* destroy */
};
diff --git a/server/handle.c b/server/handle.c
index 6ca4489..879098a 100644
index 6ca4489a8..879098aee 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -135,6 +135,7 @@ static const struct object_ops handle_table_ops =
@ -340,7 +353,7 @@ index 6ca4489..879098a 100644
}
}
diff --git a/server/hook.c b/server/hook.c
index f5d7639..22b1482 100644
index f5d7639fd..22b148289 100644
--- a/server/hook.c
+++ b/server/hook.c
@@ -93,6 +93,7 @@ static const struct object_ops hook_table_ops =
@ -352,7 +365,7 @@ index f5d7639..22b1482 100644
hook_table_destroy /* destroy */
};
diff --git a/server/mailslot.c b/server/mailslot.c
index fc1caa9..57d0775 100644
index fc1caa9e0..57d07751d 100644
--- a/server/mailslot.c
+++ b/server/mailslot.c
@@ -91,6 +91,7 @@ static const struct object_ops mailslot_ops =
@ -380,7 +393,7 @@ index fc1caa9..57d0775 100644
mailslot_device_destroy /* destroy */
};
diff --git a/server/mapping.c b/server/mapping.c
index 1b3df08..819181a 100644
index aab89ee43..0bc6a555b 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -103,6 +103,7 @@ static const struct object_ops ranges_ops =
@ -408,7 +421,7 @@ index 1b3df08..819181a 100644
mapping_destroy /* destroy */
};
diff --git a/server/mutex.c b/server/mutex.c
index f5f969b..a4ab6bd 100644
index f5f969b3d..a4ab6bdb3 100644
--- a/server/mutex.c
+++ b/server/mutex.c
@@ -73,6 +73,7 @@ static const struct object_ops mutex_ops =
@ -420,7 +433,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 ceb9894ba..6892081d3 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -130,6 +130,7 @@ static const struct object_ops named_pipe_ops =
@ -466,7 +479,7 @@ 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 048da504a..fbac8f75a 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
@ -481,7 +494,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 ca5a191f9..d913e6553 100644
--- a/server/object.h
+++ b/server/object.h
@@ -93,8 +93,10 @@ struct object_ops
@ -505,7 +518,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 f0b44a8..c059d19 100644
index 15c99cd53..e6568eceb 100644
--- a/server/process.c
+++ b/server/process.c
@@ -91,6 +91,7 @@ static const struct object_ops process_ops =
@ -533,7 +546,7 @@ index f0b44a8..c059d19 100644
job_destroy /* destroy */
};
diff --git a/server/queue.c b/server/queue.c
index 56fa4d9..b5d0677 100644
index 56fa4d98c..b5d0677fd 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -194,6 +194,7 @@ static const struct object_ops msg_queue_ops =
@ -553,7 +566,7 @@ index 56fa4d9..b5d0677 100644
thread_input_destroy /* destroy */
};
diff --git a/server/registry.c b/server/registry.c
index 1757fd3..e56134e 100644
index 1757fd3b3..e56134e16 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -172,6 +172,7 @@ static const struct object_ops key_ops =
@ -565,7 +578,7 @@ index 1757fd3..e56134e 100644
key_destroy /* destroy */
};
diff --git a/server/request.c b/server/request.c
index 73878cf..f089ccc 100644
index 73878cf23..f089ccc2d 100644
--- a/server/request.c
+++ b/server/request.c
@@ -109,6 +109,7 @@ static const struct object_ops master_socket_ops =
@ -577,7 +590,7 @@ index 73878cf..f089ccc 100644
master_socket_destroy /* destroy */
};
diff --git a/server/semaphore.c b/server/semaphore.c
index 36e3e79..1913871 100644
index 36e3e79e5..191387185 100644
--- a/server/semaphore.c
+++ b/server/semaphore.c
@@ -70,6 +70,7 @@ static const struct object_ops semaphore_ops =
@ -589,7 +602,7 @@ index 36e3e79..1913871 100644
no_destroy /* destroy */
};
diff --git a/server/serial.c b/server/serial.c
index 2848e1d..966b8bc 100644
index 2848e1dc7..966b8bc6b 100644
--- a/server/serial.c
+++ b/server/serial.c
@@ -104,6 +104,7 @@ static const struct object_ops serial_ops =
@ -601,7 +614,7 @@ index 2848e1d..966b8bc 100644
serial_destroy /* destroy */
};
diff --git a/server/signal.c b/server/signal.c
index ca20039..a2e0efe 100644
index ca200394f..a2e0efef1 100644
--- a/server/signal.c
+++ b/server/signal.c
@@ -79,6 +79,7 @@ static const struct object_ops handler_ops =
@ -613,7 +626,7 @@ index ca20039..a2e0efe 100644
handler_destroy /* destroy */
};
diff --git a/server/snapshot.c b/server/snapshot.c
index 7d0d742..2ad9d5d 100644
index 7d0d742ee..2ad9d5d78 100644
--- a/server/snapshot.c
+++ b/server/snapshot.c
@@ -73,6 +73,7 @@ static const struct object_ops snapshot_ops =
@ -625,7 +638,7 @@ index 7d0d742..2ad9d5d 100644
snapshot_destroy /* destroy */
};
diff --git a/server/sock.c b/server/sock.c
index ac83081..d373768 100644
index ac830812d..d373768c9 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -156,6 +156,7 @@ static const struct object_ops sock_ops =
@ -645,7 +658,7 @@ index ac83081..d373768 100644
ifchange_destroy /* destroy */
};
diff --git a/server/symlink.c b/server/symlink.c
index 6b66b23..52387be 100644
index 6b66b23dd..52387be1e 100644
--- a/server/symlink.c
+++ b/server/symlink.c
@@ -72,6 +72,7 @@ static const struct object_ops symlink_ops =
@ -657,7 +670,7 @@ index 6b66b23..52387be 100644
symlink_destroy /* destroy */
};
diff --git a/server/thread.c b/server/thread.c
index 8c45419..bcb8526 100644
index 8c4541993..bcb852666 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -123,6 +123,7 @@ static const struct object_ops thread_apc_ops =
@ -677,7 +690,7 @@ index 8c45419..bcb8526 100644
destroy_thread /* destroy */
};
diff --git a/server/timer.c b/server/timer.c
index f2403fc..75d289c 100644
index f2403fc9b..75d289cac 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -80,6 +80,7 @@ static const struct object_ops timer_ops =
@ -689,7 +702,7 @@ index f2403fc..75d289c 100644
timer_destroy /* destroy */
};
diff --git a/server/token.c b/server/token.c
index 1a41ad0..71f8552 100644
index 139161f9d..62e3f8d15 100644
--- a/server/token.c
+++ b/server/token.c
@@ -164,6 +164,7 @@ static const struct object_ops token_ops =
@ -701,7 +714,7 @@ index 1a41ad0..71f8552 100644
token_destroy /* destroy */
};
diff --git a/server/winstation.c b/server/winstation.c
index 845043b..d7e8a5c 100644
index 845043b20..d7e8a5c80 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -77,6 +77,7 @@ static const struct object_ops winstation_ops =
@ -721,5 +734,5 @@ index 845043b..d7e8a5c 100644
desktop_destroy /* destroy */
};
--
1.9.1
2.21.0

View File

@ -1,3 +1,4 @@
Fixes: Fix possible leak of explorer.exe processes and implement proper desktop refcounting
Fixes: Assign random name when trying to create Window Station without name
Fixes: [46967] GOG Galaxy doesn't run in virtual desktop.
Depends: eventfd_synchronization