From a768ce8ab61baa53e5e874354a944b3fd335d105 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Wed, 3 Aug 2011 15:45:16 +0000 Subject: [PATCH] [CSRSRV]: CSRSS tries to connect with itself and already has the region mapped, so allow this as a hack. svn path=/trunk/; revision=53051 --- reactos/subsystems/win32/csrss/csrsrv/api/wapi.c | 6 ++++++ reactos/subsystems/win32/csrss/csrsrv/init.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c b/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c index 6c0ac2d3723..aedfa47f5a8 100644 --- a/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c +++ b/reactos/subsystems/win32/csrss/csrsrv/api/wapi.c @@ -293,6 +293,12 @@ CsrSrvAttachSharedSection(IN PCSRSS_PROCESS_DATA CsrProcess OPTIONAL, ViewUnmap, SEC_NO_CHANGE, PAGE_EXECUTE_READ); + if (Status == STATUS_CONFLICTING_ADDRESSES) + { + /* I Think our csrss tries to connect to itself... */ + DPRINT1("Multiple mapping hack\n"); + Status = STATUS_SUCCESS; + } if (!NT_SUCCESS(Status)) return Status; } diff --git a/reactos/subsystems/win32/csrss/csrsrv/init.c b/reactos/subsystems/win32/csrss/csrsrv/init.c index 32faad094ea..6ab51c2c546 100644 --- a/reactos/subsystems/win32/csrss/csrsrv/init.c +++ b/reactos/subsystems/win32/csrss/csrsrv/init.c @@ -497,6 +497,7 @@ CsrSrvCreateSharedSection(IN PCHAR ParameterValue); static NTSTATUS CsrpCreateHeap (int argc, char ** argv, char ** envp) { + CHAR Value[] = "1024,3072,512"; NTSTATUS Status; DPRINT("CSR: %s called\n", __FUNCTION__); @@ -512,7 +513,7 @@ CsrpCreateHeap (int argc, char ** argv, char ** envp) } - Status = CsrSrvCreateSharedSection("1024,3072,512"); + Status = CsrSrvCreateSharedSection(Value); DPRINT1("Status: %lx\n", Status); ASSERT(Status == STATUS_SUCCESS);