Rebase against 6038e2ab7957b65dd2e13ddd414c206718fb14b7.

This commit is contained in:
Sebastian Lackner
2015-08-24 15:40:06 +02:00
parent ddb4ddd749
commit f73de49f9f
16 changed files with 65 additions and 290 deletions

View File

@@ -1,4 +1,4 @@
From 0eecbf377f3e2f1457d09d532a6093743660f062 Mon Sep 17 00:00:00 2001
From 0ff07b77e5658310d1e7a57b1b4b4b7591e3422c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 15 Oct 2014 10:02:22 +0200
Subject: server: Support for thread and process security descriptors in
@@ -14,7 +14,7 @@ Needs ./tools/make_requests
3 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 0a087ab..4f0dee08 100644
index b0c06e3..03f3bac 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -2042,6 +2042,8 @@ static BOOL create_process( HANDLE hFile, LPCWSTR filename, LPWSTR cmd_line, LPW
@@ -27,10 +27,10 @@ index 0a087ab..4f0dee08 100644
wine_server_add_data( req, startup_info, startup_info_size );
wine_server_add_data( req, env, (env_end - env) * sizeof(WCHAR) );
diff --git a/server/process.c b/server/process.c
index 4a356b9..402aef0 100644
index e00b429..d2b3c48 100644
--- a/server/process.c
+++ b/server/process.c
@@ -880,6 +880,7 @@ DECL_HANDLER(new_process)
@@ -1083,6 +1083,7 @@ DECL_HANDLER(new_process)
struct process *process;
struct process *parent = current->process;
int socket_fd = thread_get_inflight_fd( current, req->socket_fd );
@@ -38,7 +38,7 @@ index 4a356b9..402aef0 100644
if (socket_fd == -1)
{
@@ -927,7 +928,7 @@ DECL_HANDLER(new_process)
@@ -1138,7 +1139,7 @@ DECL_HANDLER(new_process)
goto done;
}
@@ -47,7 +47,7 @@ index 4a356b9..402aef0 100644
info->info_size = min( req->info_size, info->data_size );
if (req->info_size < sizeof(*info->data))
@@ -968,6 +969,34 @@ DECL_HANDLER(new_process)
@@ -1179,6 +1180,34 @@ DECL_HANDLER(new_process)
#undef FIXUP_LEN
}
@@ -81,8 +81,8 @@ index 4a356b9..402aef0 100644
+
if (!(thread = create_process( socket_fd, current, req->inherit_all ))) goto done;
process = thread->process;
process->debug_children = (req->create_flags & DEBUG_PROCESS)
@@ -1019,6 +1048,25 @@ DECL_HANDLER(new_process)
process->startup_info = (struct startup_info *)grab_object( info );
@@ -1241,6 +1270,25 @@ DECL_HANDLER(new_process)
reply->phandle = alloc_handle( parent, process, req->process_access, req->process_attr );
reply->thandle = alloc_handle( parent, thread, req->thread_access, req->thread_attr );
@@ -109,10 +109,10 @@ index 4a356b9..402aef0 100644
release_object( info );
}
diff --git a/server/protocol.def b/server/protocol.def
index fc6bec5..37c5d87 100644
index c313006..5f9461f 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -671,8 +671,12 @@ struct rawinput_device
@@ -715,8 +715,12 @@ struct rawinput_device
unsigned int thread_attr; /* attributes for thread object */
cpu_type_t cpu; /* CPU that the new process will use */
data_size_t info_size; /* size of startup info */
@@ -127,5 +127,5 @@ index fc6bec5..37c5d87 100644
obj_handle_t info; /* new process info handle */
process_id_t pid; /* process id */
--
2.1.3
2.5.0