use tags for pool allocations, and reformat code

svn path=/trunk/; revision=14546
This commit is contained in:
Royce Mitchell III 2005-04-08 13:02:23 +00:00
parent dac8f53fe5
commit 18cff7ccc9

View file

@ -27,6 +27,7 @@
/* GLOBAL *******************************************************************/
#define MAX_THREAD_NOTIFY_ROUTINE_COUNT 8
#define TAG_KAPC TAG('k','p','a','p') /* kpap - kernel ps apc */
static ULONG PiThreadNotifyRoutineCount = 0;
static PCREATE_THREAD_NOTIFY_ROUTINE
@ -44,7 +45,8 @@ PiBeforeBeginThread(CONTEXT c)
}
NTSTATUS
PsInitializeThread(PEPROCESS Process,
PsInitializeThread (
PEPROCESS Process,
PETHREAD* ThreadPtr,
POBJECT_ATTRIBUTES ObjectAttributes,
KPROCESSOR_MODE AccessMode,
@ -127,7 +129,8 @@ PsInitializeThread(PEPROCESS Process,
static NTSTATUS
PsCreateTeb(HANDLE ProcessHandle,
PsCreateTeb (
HANDLE ProcessHandle,
PTEB *TebPtr,
PETHREAD Thread,
PINITIAL_TEB InitialTeb )
@ -283,7 +286,8 @@ LdrInitApcRundownRoutine(PKAPC Apc)
VOID STDCALL
LdrInitApcKernelRoutine(PKAPC Apc,
LdrInitApcKernelRoutine (
PKAPC Apc,
PKNORMAL_ROUTINE* NormalRoutine,
PVOID* NormalContext,
PVOID* SystemArgument1,
@ -294,7 +298,8 @@ LdrInitApcKernelRoutine(PKAPC Apc,
NTSTATUS STDCALL
NtCreateThread(OUT PHANDLE ThreadHandle,
NtCreateThread (
OUT PHANDLE ThreadHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN HANDLE ProcessHandle,
@ -362,7 +367,8 @@ NtCreateThread(OUT PHANDLE ThreadHandle,
DPRINT("NtCreateThread(ThreadHandle %x, PCONTEXT %x)\n",
ThreadHandle,ThreadContext);
Status = ObReferenceObjectByHandle(ProcessHandle,
Status = ObReferenceObjectByHandle(
ProcessHandle,
PROCESS_CREATE_THREAD,
PsProcessType,
PreviousMode,
@ -402,7 +408,8 @@ NtCreateThread(OUT PHANDLE ThreadHandle,
}
/* create a client id handle */
Status = PsCreateCidHandle(Thread, PsThreadType, &Thread->Cid.UniqueThread);
Status = PsCreateCidHandle (
Thread, PsThreadType, &Thread->Cid.UniqueThread);
if (!NT_SUCCESS(Status))
{
ObDereferenceObject(Thread);
@ -454,10 +461,17 @@ NtCreateThread(OUT PHANDLE ThreadHandle,
* Queue an APC to the thread that will execute the ntdll startup
* routine.
*/
LdrInitApc = ExAllocatePool(NonPagedPool, sizeof(KAPC));
KeInitializeApc(LdrInitApc, &Thread->Tcb, OriginalApcEnvironment, LdrInitApcKernelRoutine,
LdrInitApcRundownRoutine, LdrpGetSystemDllEntryPoint(),
UserMode, NULL);
LdrInitApc = ExAllocatePoolWithTag (
NonPagedPool, sizeof(KAPC), TAG_KAPC );
KeInitializeApc (
LdrInitApc,
&Thread->Tcb,
OriginalApcEnvironment,
LdrInitApcKernelRoutine,
LdrInitApcRundownRoutine,
LdrpGetSystemDllEntryPoint(),
UserMode,
NULL );
KeInsertQueueApc(LdrInitApc, NULL, NULL, IO_NO_INCREMENT);
/*
@ -503,7 +517,8 @@ NtCreateThread(OUT PHANDLE ThreadHandle,
* @implemented
*/
NTSTATUS STDCALL
PsCreateSystemThread(PHANDLE ThreadHandle,
PsCreateSystemThread (
PHANDLE ThreadHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
HANDLE ProcessHandle,
@ -536,7 +551,8 @@ PsCreateSystemThread(PHANDLE ThreadHandle,
DPRINT("PsCreateSystemThread(ThreadHandle %x, ProcessHandle %x)\n",
ThreadHandle,ProcessHandle);
Status = PsInitializeThread(NULL,
Status = PsInitializeThread(
NULL,
&Thread,
ObjectAttributes,
KernelMode,
@ -559,7 +575,8 @@ PsCreateSystemThread(PHANDLE ThreadHandle,
}
Thread->StartAddress = StartRoutine;
Status = KiArchInitThread(&Thread->Tcb, StartRoutine, StartContext);
Status = KiArchInitThread (
&Thread->Tcb, StartRoutine, StartContext);
if (!NT_SUCCESS(Status))
{
ObDereferenceObject(Thread);
@ -575,7 +592,8 @@ PsCreateSystemThread(PHANDLE ThreadHandle,
KiUnblockThread(&Thread->Tcb, NULL, 0);
KeReleaseDispatcherDatabaseLock(oldIrql);
Status = ObInsertObject((PVOID)Thread,
Status = ObInsertObject(
(PVOID)Thread,
NULL,
DesiredAccess,
0,
@ -590,7 +608,8 @@ PsCreateSystemThread(PHANDLE ThreadHandle,
VOID STDCALL
PspRunCreateThreadNotifyRoutines(PETHREAD CurrentThread,
PspRunCreateThreadNotifyRoutines (
PETHREAD CurrentThread,
BOOLEAN Create )
{
ULONG i;
@ -607,7 +626,8 @@ PspRunCreateThreadNotifyRoutines(PETHREAD CurrentThread,
* @implemented
*/
NTSTATUS STDCALL
PsSetCreateThreadNotifyRoutine(IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine)
PsSetCreateThreadNotifyRoutine (
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine )
{
if (PiThreadNotifyRoutineCount >= MAX_THREAD_NOTIFY_ROUTINE_COUNT)
{