Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
3799d55d
Commit
3799d55d
authored
Jul 19, 2013
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Implement RtlExitUserProcess.
parent
1c117701
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
18 deletions
+18
-18
process.c
dlls/kernel32/process.c
+2
-18
loader.c
dlls/ntdll/loader.c
+14
-0
ntdll.spec
dlls/ntdll/ntdll.spec
+1
-0
winternl.h
include/winternl.h
+1
-0
No files found.
dlls/kernel32/process.c
View file @
3799d55d
...
...
@@ -2624,30 +2624,14 @@ __ASM_STDCALL_FUNC( ExitProcess, 4, /* Shrinker depend on this particular ExitPr
".byte 0x6A, 0x00
\n\t
"
/* pushl $0 */
".byte 0x68, 0x00, 0x00, 0x00, 0x00
\n\t
"
/* pushl $0 - 4 bytes immediate */
"pushl 8(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"
process_Exit
Process"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"call "
__ASM_NAME
(
"
RtlExitUser
Process"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"leave
\n\t
"
"ret $4"
)
void
WINAPI
process_ExitProcess
(
DWORD
status
)
{
ULONG
magic
;
LdrLockLoaderLock
(
0
,
0
,
&
magic
);
RtlAcquirePebLock
();
NtTerminateProcess
(
0
,
status
);
LdrShutdownProcess
();
NtTerminateProcess
(
GetCurrentProcess
(),
status
);
exit
(
status
);
}
#else
void
WINAPI
ExitProcess
(
DWORD
status
)
{
RtlAcquirePebLock
();
NtTerminateProcess
(
0
,
status
);
LdrShutdownProcess
();
NtTerminateProcess
(
GetCurrentProcess
(),
status
);
exit
(
status
);
RtlExitUserProcess
(
status
);
}
#endif
...
...
dlls/ntdll/loader.c
View file @
3799d55d
...
...
@@ -2392,6 +2392,20 @@ void WINAPI LdrShutdownProcess(void)
process_detach
();
}
/******************************************************************
* RtlExitUserProcess (NTDLL.@)
*/
void
WINAPI
RtlExitUserProcess
(
DWORD
status
)
{
RtlEnterCriticalSection
(
&
loader_section
);
RtlAcquirePebLock
();
NtTerminateProcess
(
0
,
status
);
LdrShutdownProcess
();
NtTerminateProcess
(
GetCurrentProcess
(),
status
);
exit
(
status
);
}
/******************************************************************
* LdrShutdownThread (NTDLL.@)
*
...
...
dlls/ntdll/ntdll.spec
View file @
3799d55d
...
...
@@ -568,6 +568,7 @@
@ stdcall RtlEqualString(ptr ptr long)
@ stdcall RtlEqualUnicodeString(ptr ptr long)
@ stdcall RtlEraseUnicodeString(ptr)
@ stdcall RtlExitUserProcess(long)
@ stdcall RtlExitUserThread(long)
@ stdcall RtlExpandEnvironmentStrings_U(ptr ptr ptr ptr)
@ stub RtlExtendHeap
...
...
include/winternl.h
View file @
3799d55d
...
...
@@ -2347,6 +2347,7 @@ NTSYSAPI BOOL WINAPI RtlEqualPrefixSid(PSID,PSID);
NTSYSAPI
BOOL
WINAPI
RtlEqualSid
(
PSID
,
PSID
);
NTSYSAPI
BOOLEAN
WINAPI
RtlEqualString
(
const
STRING
*
,
const
STRING
*
,
BOOLEAN
);
NTSYSAPI
BOOLEAN
WINAPI
RtlEqualUnicodeString
(
const
UNICODE_STRING
*
,
const
UNICODE_STRING
*
,
BOOLEAN
);
NTSYSAPI
void
DECLSPEC_NORETURN
WINAPI
RtlExitUserProcess
(
ULONG
);
NTSYSAPI
void
DECLSPEC_NORETURN
WINAPI
RtlExitUserThread
(
ULONG
);
NTSYSAPI
NTSTATUS
WINAPI
RtlExpandEnvironmentStrings_U
(
PCWSTR
,
const
UNICODE_STRING
*
,
UNICODE_STRING
*
,
ULONG
*
);
NTSYSAPI
NTSTATUS
WINAPI
RtlFindActivationContextSectionString
(
ULONG
,
const
GUID
*
,
ULONG
,
const
UNICODE_STRING
*
,
PVOID
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment