#include <ntos.h>
#include <ntrtl.h>
#include <nturtl.h>
#include "ntrtlp.h"
#include "threads.h"
Go to the source code of this file.
Defines | |
#define | WORKER_IDLE_TIMEOUT 40000 |
#define | MAX_WORKER_SLEEP_TIME_EXPONENT 4 |
#define | IOWORKER_IDLE_TIMEOUT 40000 |
#define | WAIT_IDLE_TIMEOUT 400000 |
Functions | |
NTSTATUS | RtlRegisterWait (OUT PHANDLE WaitHandle, IN HANDLE Handle, IN WAITORTIMERCALLBACKFUNC Function, IN PVOID Context, IN ULONG Milliseconds, IN ULONG Flags) |
NTSTATUS | RtlDeregisterWait (IN HANDLE WaitHandle) |
NTSTATUS | RtlDeregisterWaitEx (IN HANDLE WaitHandle, IN HANDLE Event) |
NTSTATUS | RtlQueueWorkItem (IN WORKERCALLBACKFUNC Function, IN PVOID Context, IN ULONG Flags) |
NTSTATUS | RtlSetIoCompletionCallback (IN HANDLE FileHandle, IN APC_CALLBACK_FUNCTION CompletionProc, IN ULONG Flags) |
NTSTATUS | RtlCreateTimerQueue (OUT PHANDLE TimerQueueHandle) |
NTSTATUS | RtlDeleteTimerQueue (IN HANDLE TimerQueueHandle) |
NTSTATUS | RtlDeleteTimerQueueEx (HANDLE QueueHandle, HANDLE Event) |
NTSTATUS | RtlCreateTimer (IN HANDLE TimerQueueHandle, OUT HANDLE *Handle, IN WAITORTIMERCALLBACKFUNC Function, IN PVOID Context, IN ULONG DueTime, IN ULONG Period, IN ULONG Flags) |
NTSTATUS | RtlUpdateTimer (IN HANDLE TimerQueueHandle, IN HANDLE Timer, IN ULONG DueTime, IN ULONG Period) |
NTSTATUS | RtlDeleteTimer (IN HANDLE TimerQueueHandle, IN HANDLE TimerToCancel, IN HANDLE Event) |
NTSTATUS NTAPI | RtlSetThreadPoolStartFunc (PRTLP_START_THREAD StartFunc, PRTLP_EXIT_THREAD ExitFunc) |
NTSTATUS | RtlThreadPoolCleanup (ULONG Flags) |
NTSTATUS | RtlpQueueWorkerRequest (WORKERCALLBACKFUNC Function, PVOID Context, ULONG Flags) |
VOID | RtlpExecuteWorkerRequest (NTSTATUS Status, PVOID Context, PVOID WorkContext) |
NTSTATUS | RtlpQueueIOWorkerRequest (WORKERCALLBACKFUNC Function, PVOID Context, ULONG Flags) |
NTSTATUS | RtlpStartWorkerThread () |
NTSTATUS | RtlpStartIOWorkerThread () |
VOID | RtlpWorkerThreadTimerCallback (PVOID Context, BOOLEAN NotUsed) |
NTSTATUS | RtlpInitializeWorkerThreadPool () |
VOID | RtlpWorkerThreadInitializeTimers (PVOID Context) |
LONG | RtlpWorkerThread (PVOID Initialized) |
LONG | RtlpIOWorkerThread (PVOID Initialized) |
VOID | RtlpExecuteLongIOWorkItem (PVOID Function, PVOID Context, PVOID ThreadCB) |
VOID | RtlpExecuteIOWorkItem (PVOID Function, PVOID Context, PVOID NotUsed) |
NTSTATUS NTAPI | RtlpStartThread (PUSER_THREAD_START_ROUTINE Function, HANDLE *ThreadHandle) |
NTSTATUS | RtlpExitThread (NTSTATUS Status) |
NTSTATUS | RtlpInitializeWaitThreadPool () |
LONG | RtlpWaitThread (PVOID Initialized) |
VOID | RtlpAsyncCallbackCompletion (PVOID Context) |
VOID | RtlpProcessWaitCompletion (PRTLP_WAIT Wait, ULONG ArrayIndex) |
VOID | RtlpAddWait (PRTLP_WAIT Wait) |
NTSTATUS | RtlpDeregisterWait (PRTLP_WAIT Wait, HANDLE PartialCompletionEvent, PULONG RetStatusPtr) |
NTSTATUS | RtlpDeactivateWait (PRTLP_WAIT Wait) |
VOID | RtlpDeleteWait (PRTLP_WAIT Wait) |
VOID | RtlpDoNothing (PVOID NotUsed1, PVOID NotUsed2, PVOID NotUsed3) |
__inline LONGLONG | RtlpGet64BitTickCount (LARGE_INTEGER *Last64BitTickCount) |
__inline LONGLONG | RtlpResync64BitTickCount () |
VOID | RtlpProcessTimeouts (PRTLP_WAIT_THREAD_CONTROL_BLOCK ThreadCB) |
VOID | RtlpFireTimers (PLIST_ENTRY TimersToFireList) |
NTSTATUS | RtlpFindWaitThread (PRTLP_WAIT_THREAD_CONTROL_BLOCK *ThreadCB) |
VOID | RtlpAddTimer (PRTLP_TIMER Timer) |
VOID | RtlpUpdateTimer (PRTLP_TIMER Timer, PRTLP_TIMER UpdatedTimer) |
VOID | RtlpCancelTimer (PRTLP_TIMER Timer) |
VOID | RtlpCancelTimerEx (PRTLP_TIMER Timer, BOOLEAN DeletingQueue) |
VOID | RtlpDeactivateTimer (PRTLP_TIMER_QUEUE Queue, PRTLP_TIMER Timer) |
VOID | RtlpDeleteTimer (PRTLP_TIMER Timer) |
ULONG | RtlpGetQueueRelativeTime (PRTLP_TIMER_QUEUE Queue) |
ULONG | RtlpGetTimeRemaining (HANDLE TimerHandle) |
VOID | RtlpResetTimer (HANDLE TimerHandle, ULONG DueTime, PRTLP_WAIT_THREAD_CONTROL_BLOCK ThreadCB) |
BOOLEAN | RtlpInsertInDeltaList (PLIST_ENTRY DeltaList, PRTLP_GENERIC_TIMER NewTimer, ULONG TimeRemaining, ULONG *NewFiringTime) |
BOOLEAN | RtlpRemoveFromDeltaList (PLIST_ENTRY DeltaList, PRTLP_GENERIC_TIMER Timer, ULONG TimeRemaining, ULONG *NewFiringTime) |
BOOLEAN | RtlpReOrderDeltaList (PLIST_ENTRY DeltaList, PRTLP_GENERIC_TIMER Timer, ULONG TimeRemaining, ULONG *NewFiringTime, ULONG ChangedFiringTime) |
VOID | RtlpAddTimerQueue (PVOID Queue) |
VOID | RtlpServiceTimer (PVOID NotUsedArg, ULONG NotUsedLowTimer, LONG NotUsedHighTimer) |
VOID | RtlpFireTimersAndReorder (PRTLP_TIMER_QUEUE Queue, ULONG *NewFiringTime, PLIST_ENTRY TimersToFireList) |
VOID | RtlpInsertTimersIntoDeltaList (IN PLIST_ENTRY NewTimerList, IN PLIST_ENTRY DeltaTimerList, IN ULONG TimeRemaining, OUT ULONG *NewFiringTime) |
LONG | RtlpTimerThread (PVOID Initialized) |
NTSTATUS | RtlpInitializeTimerThreadPool () |
NTSTATUS | RtlpDeleteTimerQueue (PRTLP_TIMER_QUEUE Queue) |
VOID | RtlpDeleteTimerQueueComplete (PRTLP_TIMER_QUEUE Queue) |
VOID | RtlpThreadCleanup () |
NTSTATUS | RtlpWaitForEvent (HANDLE Event, HANDLE ThreadHandle) |
PRTLP_EVENT | RtlpGetWaitEvent (VOID) |
VOID | RtlpFreeWaitEvent (PRTLP_EVENT Event) |
VOID | RtlpInitializeEventCache (VOID) |
VOID | PrintTimerQueue (PLIST_ENTRY QNode, ULONG Delta, ULONG Count) |
VOID | RtlDebugPrintTimes () |
NTSTATUS | RtlSetTimer (IN HANDLE TimerQueueHandle, OUT HANDLE *Handle, IN WAITORTIMERCALLBACKFUNC Function, IN PVOID Context, IN ULONG DueTime, IN ULONG Period, IN ULONG Flags) |
PVOID | RtlpForceAllocateTPHeap (ULONG dwSize, ULONG dwFlags) |
NTSTATUS | RtlCancelTimer (IN HANDLE TimerQueueHandle, IN HANDLE TimerToCancel) |
Variables | |
ULONG | DPRN = 0x0000000 |
|
Referenced by RtlpIOWorkerThread(). |
|
Referenced by RtlpWorkerThread(). |
|
Referenced by RtlpWaitThread(). |
|
Referenced by RtlpWorkerThread(). |
|
Definition at line 5745 of file threads.c. References Count, DbgPrint, List, PRTLP_TIMER, PRTLP_TIMER_QUEUE, RTLP_TIMER, and RTLP_TIMER_QUEUE. Referenced by RtlDebugPrintTimes().
|
|
Definition at line 5895 of file threads.c. References Count, DbgPrint, NULL, and RtlDeleteTimer().
|
|
Definition at line 944 of file threads.c. References DbgPrint, DPRN1, Handle, NtQueueApcThread(), NTSTATUS(), NULL, PRTLP_TIMER, PRTLP_TIMER_QUEUE, RefCount, RTLP_TIMER, RtlpAddTimer(), RtlpAllocateTPHeap, SET_SIGNATURE, Status, and TimerThreadHandle. Referenced by RtlpWorkerThreadInitializeTimers(), and RtlSetTimer().
|
|
Definition at line 691 of file threads.c. References CompletedTimerInitialization, DbgPrint, DPRN0, NextTimerDbgId, NT_SUCCESS, NTSTATUS(), NULL, NumTimerQueues, PRTLP_TIMER_QUEUE, RTLP_TIMER_QUEUE, RtlpAllocateTPHeap, RtlpInitializeTimerThreadPool(), SET_SIGNATURE, and Status. Referenced by RtlpWorkerThreadInitializeTimers().
|
|
Definition at line 5767 of file threads.c. References CompletedTimerInitialization, Count, DbgPrint, List, NtQueueApcThread(), NULL, PrintTimerQueue(), PRTLP_TIMER_QUEUE, RtlDebugPrintTimes(), RTLP_TIMER_QUEUE, RtlpGetTimeRemaining(), RtlpResync64BitTickCount(), TimerHandle, TimerQueues, TimerThreadHandle, and TimerThreadId. Referenced by RtlDebugPrintTimes(), and RtlpServiceTimer().
|
|
Definition at line 1145 of file threads.c. References ACQUIRE_GLOBAL_TIMER_LOCK, ASSERT, CHECK_DEL_SIGNATURE, DbgPrint, DPRN0, Event(), FALSE, _RTLP_EVENT::Handle, NT_SUCCESS, NtQueueApcThread(), NTSTATUS(), NULL, PRTLP_TIMER, PRTLP_TIMER_QUEUE, RELEASE_GLOBAL_TIMER_LOCK, RtlpCancelTimer(), RtlpFreeWaitEvent(), RtlpGetWaitEvent(), RtlpWaitForEvent(), SET_DEL_SIGNATURE, STATE_DONTFIRE, Status, and TimerThreadHandle. Referenced by RtlCancelTimer().
|
|
Definition at line 779 of file threads.c. References NULL, and RtlDeleteTimerQueueEx().
|
|
Definition at line 809 of file threads.c. References ACQUIRE_GLOBAL_TIMER_LOCK, ASSERT, CHECK_DEL_SIGNATURE, DbgPrint, DPRN0, Event(), FALSE, _RTLP_EVENT::Handle, NT_SUCCESS, NtQueueApcThread(), NTSTATUS(), NULL, PRTLP_TIMER_QUEUE, RELEASE_GLOBAL_TIMER_LOCK, RtlpDeleteTimerQueue(), RtlpFreeWaitEvent(), RtlpGetWaitEvent(), RtlpWaitForEvent(), SET_DEL_SIGNATURE, STATE_DONTFIRE, Status, and TimerThreadHandle. Referenced by RtlDeleteTimerQueue().
|
|
Definition at line 228 of file threads.c. References NULL, and RtlDeregisterWaitEx(). Referenced by RtlShutdownLpcServer().
|
|
Definition at line 256 of file threads.c. References ASSERT, CHECK_DEL_SIGNATURE, _RTLP_WAIT::DbgId, DbgPrint, DPRN0, Event(), FALSE, _RTLP_EVENT::Handle, NT_SUCCESS, NtQueueApcThread(), NTSTATUS(), NULL, _RTLP_WAIT::RefCount, RtlpDeregisterWait(), RtlpFreeWaitEvent(), RtlpGetWaitEvent(), RtlpWaitForEvent(), SET_DEL_SIGNATURE, Status, _RTLP_WAIT::ThreadCB, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ThreadHandle, ThreadHandle, and _RTLP_WAIT::ThreadId2. Referenced by RtlDeregisterWait().
|
|
Definition at line 3954 of file threads.c. References NULL, PRTLP_TIMER_QUEUE, RtlpDeleteTimer(), RtlpGetQueueRelativeTime(), RtlpGetTimeRemaining(), RtlpInsertInDeltaList(), RtlpReOrderDeltaList(), RtlpResetTimer(), RtlpResync64BitTickCount(), STATE_ACTIVE, STATE_DELETE, STATE_REGISTERED, TimerHandle, and TimerQueues. Referenced by RtlCreateTimer().
|
|
Definition at line 4794 of file threads.c.
|
|
Definition at line 3302 of file threads.c. References _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitArray, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitPointers, ASSERT, _RTLP_GENERIC_TIMER::Context, _RTLP_WAIT::Context, _RTLP_GENERIC_TIMER::DeltaFiringTime, FALSE, _RTLP_GENERIC_TIMER::Flags, _RTLP_WAIT::Flags, _RTLP_WAIT_THREAD_CONTROL_BLOCK::FreeTimerBlocks, _RTLP_GENERIC_TIMER::Function, _RTLP_WAIT::Function, INFINITE_TIME, NULL, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumActiveWaits, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumWaits, _RTLP_GENERIC_TIMER::Period, PRTLP_TIMER, _RTLP_GENERIC_TIMER::Queue, _RTLP_WAIT::RefCount, _RTLP_GENERIC_TIMER::RefCountPtr, RtlpDeleteWait(), RtlpGetTimeRemaining(), RtlpInsertInDeltaList(), RtlpResetTimer(), _RTLP_WAIT::State, _RTLP_GENERIC_TIMER::State, STATE_ACTIVE, STATE_DELETE, STATE_REGISTERED, _RTLP_WAIT::ThreadCB, _RTLP_WAIT::Timeout, _RTLP_WAIT::Timer, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerHandle, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerQueue, _RTLP_GENERIC_TIMER::Wait, and _RTLP_WAIT::WaitHandle. Referenced by RtlRegisterWait().
|
|
Definition at line 3082 of file threads.c. References _RTLP_WAIT::Context, DBG_SET_FUNCTION, DbgPrint, DPRN4, _RTLP_WAIT::Function, PRTLP_ASYNC_CALLBACK, PRTLP_TIMER, _RTLP_WAIT::RefCount, RtlpDeleteTimer(), RtlpDeleteWait(), RtlpFreeTPHeap, _RTLP_WAITWORKER::Timer, _RTLP_WAITWORKER::TimerCondition, TRUE, _RTLP_WAITWORKER::Wait, and _RTLP_WAITWORKER::WaitThreadCallback. Referenced by RtlpFireTimers(), and RtlpProcessWaitCompletion().
|
|
Definition at line 4120 of file threads.c. References FALSE, and RtlpCancelTimerEx(). Referenced by RtlDeleteTimer().
|
|
Definition at line 4142 of file threads.c. References CHECK_SIGNATURE, PRTLP_TIMER_QUEUE, RtlpDeactivateTimer(), RtlpDeleteTimer(), RtlpResync64BitTickCount(), STATE_ACTIVE, and STATE_DELETE. Referenced by RtlpCancelTimer(), and RtlpDeleteTimerQueue().
|
|
Definition at line 4202 of file threads.c. References NULL, RtlpGetQueueRelativeTime(), RtlpGetTimeRemaining(), RtlpRemoveFromDeltaList(), RtlpReOrderDeltaList(), RtlpResetTimer(), TimerHandle, and TimerQueues. Referenced by RtlpCancelTimerEx().
|
|
Definition at line 3483 of file threads.c. References _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitPointers, ASSERT, FALSE, _RTLP_WAIT_THREAD_CONTROL_BLOCK::FreeTimerBlocks, _RTLP_GENERIC_TIMER::List, NULL, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumActiveWaits, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumWaits, RtlpGetTimeRemaining(), RtlpRemoveFromDeltaList(), RtlpResetTimer(), RtlpShiftWaitArray, _RTLP_GENERIC_TIMER::State, _RTLP_WAIT::State, STATE_ACTIVE, _RTLP_WAIT::ThreadCB, _RTLP_WAIT::Timer, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerHandle, and _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerQueue. Referenced by RtlpDeregisterWait(), RtlpFireTimersAndReorder(), and RtlpProcessWaitCompletion().
|
|
Definition at line 4271 of file threads.c. References CHECK_SIGNATURE, CLEAR_SIGNATURE, DbgPrint, DPRN1, NtSetEvent(), NULL, PRTLP_TIMER_QUEUE, RtlpDeleteTimerQueueComplete(), and RtlpFreeTPHeap. Referenced by RtlpAddTimer(), RtlpAsyncCallbackCompletion(), and RtlpCancelTimerEx().
|
|
Definition at line 5354 of file threads.c. References List, NULL, PRTLP_TIMER, RTLP_TIMER, RtlpCancelTimerEx(), RtlpDeleteTimerQueueComplete(), RtlpGetQueueRelativeTime(), RtlpGetTimeRemaining(), RtlpRemoveFromDeltaList(), RtlpResetTimer(), RtlpResync64BitTickCount(), SET_DEL_TIMERQ_SIGNATURE, TimerHandle, TimerQueues, and TRUE. Referenced by RtlDeleteTimerQueueEx().
|
|
Definition at line 5462 of file threads.c. References DbgPrint, DPRN1, NtSetEvent(), NULL, NumTimerQueues, and RtlpFreeTPHeap. Referenced by RtlpDeleteTimer(), and RtlpDeleteTimerQueue().
|
|
Definition at line 3573 of file threads.c. References CHECK_SIGNATURE, CLEAR_SIGNATURE, _RTLP_WAIT::DbgId, DbgPrint, DPRN1, NtSetEvent(), NULL, and RtlpFreeTPHeap. Referenced by RtlpAddWait(), RtlpAsyncCallbackCompletion(), RtlpDeregisterWait(), and RtlpProcessWaitCompletion().
|
|
Definition at line 3397 of file threads.c. References CHECK_SIGNATURE, NT_SUCCESS, NtSetEvent(), NULL, _RTLP_WAIT::RefCount, RtlpDeactivateWait(), RtlpDeleteWait(), _RTLP_WAIT::State, STATE_ACTIVE, STATE_DELETE, STATE_REGISTERED, and Status. Referenced by RtlDeregisterWaitEx().
|
|
Definition at line 3617 of file threads.c. Referenced by RtlpWaitForEvent().
|
|
Definition at line 2632 of file threads.c. References ASSERT, DBG_SET_FUNCTION, EXCEPTION_EXECUTE_HANDLER, FALSE, and NumIOWorkRequests. Referenced by RtlpQueueIOWorkerRequest().
|
|
Definition at line 2583 of file threads.c. References ASSERT, DBG_SET_FUNCTION, EXCEPTION_EXECUTE_HANDLER, FALSE, NumIOWorkRequests, and NumLongIOWorkRequests.
|
|
Definition at line 1589 of file threads.c. References DBG_SET_FUNCTION, EXCEPTION_EXECUTE_HANDLER, _RTLP_WORK::Flags, _RTLP_WORK::Function, NumLongWorkRequests, NumWorkRequests, and RtlpFreeTPHeap. Referenced by RtlpQueueWorkerRequest().
|
|
Definition at line 2738 of file threads.c. References NtTerminateThread(), and Status.
|
|
Definition at line 3851 of file threads.c. References ACQUIRE_GLOBAL_WAIT_LOCK, DbgPrint, NtClose(), NTSTATUS(), RELEASE_GLOBAL_WAIT_LOCK, RtlpStartThreadFunc, RtlpWaitThread(), Status, ThreadHandle, TRUE, and WaitThreads. Referenced by RtlRegisterWait().
|
|
Definition at line 3747 of file threads.c. References DBG_SET_FUNCTION, DbgPrint, DPRN4, FALSE, NT_SUCCESS, NTSTATUS(), NULL, PRTLP_TIMER, RTLP_TIMER, RtlpAsyncCallbackCompletion(), RtlpForceAllocateTPHeap(), RtlpFreeTPHeap, RtlQueueWorkItem(), STATE_DONTFIRE, Status, _RTLP_WAITWORKER::Timer, _RTLP_WAITWORKER::TimerCondition, TRUE, _RTLP_WAITWORKER::Wait, and _RTLP_WAITWORKER::WaitThreadCallback. Referenced by RtlpProcessTimeouts(), and RtlpServiceTimer().
|
|
Definition at line 5010 of file threads.c. References INFINITE_TIME, List, PRTLP_TIMER, RTLP_TIMER, RtlpDeactivateWait(), RtlpInsertInDeltaList(), STATE_ACTIVE, STATE_DONTFIRE, and STATE_ONE_SHOT_FIRED. Referenced by RtlpProcessTimeouts(), and RtlpServiceTimer().
|
|
Definition at line 5847 of file threads.c. References dwFlags, FALSE, NtDelayExecution(), ONE_SECOND_TIMEOUT, RtlpAllocateTPHeap, and TRUE. Referenced by RtlpFireTimers(), RtlpGetWaitEvent(), RtlpProcessWaitCompletion(), and RtlpQueueWorkerRequest().
|
|
Definition at line 5648 of file threads.c. References Event(), EventCache, EventCacheCriticalSection, MAX_UNUSED_EVENTS, NtClose(), NULL, NumUnusedEvents, and RtlpFreeTPHeap. Referenced by RtlDeleteTimer(), RtlDeleteTimerQueueEx(), and RtlDeregisterWaitEx().
|
|
Definition at line 3644 of file threads.c. References Last64BitTickCount, and NtGetTickCount(). Referenced by RtlpProcessTimeouts(), RtlpResetTimer(), RtlpResync64BitTickCount(), and RtlpServiceTimer().
|
|
Definition at line 4326 of file threads.c. References List, PRTLP_TIMER_QUEUE, RTLP_TIMER_QUEUE, and TimerQueues. Referenced by RtlpAddTimer(), RtlpDeactivateTimer(), RtlpDeleteTimerQueue(), and RtlpUpdateTimer().
|
|
Definition at line 4378 of file threads.c. References ASSERT, NtQueryTimer(), NTSTATUS(), Status, and TimerHandle. Referenced by RtlDebugPrintTimes(), RtlpAddTimer(), RtlpAddWait(), RtlpDeactivateTimer(), RtlpDeactivateWait(), RtlpDeleteTimerQueue(), RtlpProcessTimeouts(), RtlpProcessWaitCompletion(), RtlpServiceTimer(), and RtlpUpdateTimer().
|
|
Definition at line 5575 of file threads.c. References CompletedEventCacheInitialization, Event(), EventCache, EventCacheCriticalSection, FALSE, NT_SUCCESS, NtCreateEvent(), NTSTATUS(), NULL, RTLP_EVENT, RtlpForceAllocateTPHeap(), RtlpFreeTPHeap, RtlpInitializeEventCache(), and Status. Referenced by RtlDeleteTimer(), RtlDeleteTimerQueueEx(), and RtlDeregisterWaitEx().
|
|
Definition at line 5694 of file threads.c. References ASSERT, CompletedEventCacheInitialization, EventCache, EventCacheCriticalSection, FALSE, L, NtDelayExecution(), NTSTATUS(), NumUnusedEvents, ONE_MILLISECOND_TIMEOUT, RtlInitializeCriticalSection(), StartedEventCacheInitialization, and Status. Referenced by RtlpGetWaitEvent().
|
|
Definition at line 5256 of file threads.c. References ASSERT, CompletedTimerInitialization, FALSE, Firing64BitTickCount, L, NT_SUCCESS, NtCreateTimer(), NtDelayExecution(), NtGetTickCount(), NTSTATUS(), NULL, ONE_MILLISECOND_TIMEOUT, Resync64BitTickCount, RtlInitializeCriticalSection(), RtlpStartThreadFunc, RtlpTimerThread(), StartedTimerInitialization, Status, TimerCriticalSection, TimerHandle, TimerQueues, and TimerThreadHandle. Referenced by RtlCreateTimerQueue(), and RtlpInitializeWorkerThreadPool().
|
|
Definition at line 2751 of file threads.c. References ASSERT, CompletedWaitInitialization, FALSE, L, NT_SUCCESS, NtDelayExecution(), NTSTATUS(), ONE_MILLISECOND_TIMEOUT, RtlInitializeCriticalSection(), StartedWaitInitialization, Status, WaitCriticalSection, and WaitThreads. Referenced by RtlRegisterWait().
|
|
Definition at line 1965 of file threads.c. References ASSERT, CompletedTimerInitialization, CompletedWorkerInitialization, FALSE, IOWorkerThreads, L, NT_SUCCESS, NtCreateIoCompletion(), NtDelayExecution(), NtQuerySystemInformation(), NTSTATUS(), NULL, ONE_MILLISECOND_TIMEOUT, RtlInitializeCriticalSection(), RtlpInitializeTimerThreadPool(), RtlpWorkerThreadInitializeTimers(), RtlQueueWorkItem(), StartedWorkerInitialization, Status, WorkerCompletionPort, WorkerCriticalSection, and WorkerThreadTimerQueueInit. Referenced by RtlQueueWorkItem(), and RtlSetIoCompletionCallback().
|
|
Definition at line 4507 of file threads.c. References _RTLP_GENERIC_TIMER::DeltaFiringTime, FALSE, _RTLP_GENERIC_TIMER::List, List, PRTLP_GENERIC_TIMER, RTLP_GENERIC_TIMER, and TRUE. Referenced by RtlpAddTimer(), RtlpAddWait(), RtlpFireTimersAndReorder(), RtlpInsertTimersIntoDeltaList(), and RtlpReOrderDeltaList().
|
|
Definition at line 5146 of file threads.c. References List, and RtlpInsertInDeltaList().
|
|
Definition at line 2370 of file threads.c. References ASSERT, FALSE, _RTLP_IOWORKER_TCB::Flags, Initialized, IOWORKER_IDLE_TIMEOUT, IOWorkerThreads, L, _RTLP_IOWORKER_TCB::List, _RTLP_IOWORKER_TCB::LongFunctionFlag, NEW_THREAD_THRESHOLD, NT_SUCCESS, NtClose(), NtDelayExecution(), NtDuplicateObject(), NtQueryInformationThread(), NTSTATUS(), NULL, NumIOWorkerThreads, NumIOWorkRequests, NumLongIOWorkRequests, RtlpExitThreadFunc, Status, _RTLP_IOWORKER_TCB::ThreadHandle, TRUE, and WorkerCriticalSection. Referenced by RtlpStartIOWorkerThread().
|
|
Definition at line 3697 of file threads.c. References _RTLP_WAIT_THREAD_CONTROL_BLOCK::Current64BitTickCount, _RTLP_WAIT_THREAD_CONTROL_BLOCK::Firing64BitTickCount, RtlpFireTimers(), RtlpFireTimersAndReorder(), RtlpGet64BitTickCount(), RtlpGetTimeRemaining(), RtlpResetTimer(), _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerHandle, and _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerQueue. Referenced by RtlpWaitThread().
|
|
Definition at line 3172 of file threads.c. References _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitArray, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitPointers, _RTLP_WAIT::Context, DBG_SET_FUNCTION, DbgPrint, DPRN4, FALSE, _RTLP_WAIT::Flags, _RTLP_WAIT::Function, NT_SUCCESS, NTSTATUS(), _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumActiveWaits, _RTLP_GENERIC_TIMER::Period, _RTLP_WAIT::RefCount, RTLP_ASYNC_CALLBACK, RtlpAsyncCallbackCompletion(), RtlpDeactivateWait(), RtlpDeleteWait(), RtlpForceAllocateTPHeap(), RtlpFreeTPHeap, RtlpGetTimeRemaining(), RtlpReOrderDeltaList(), RtlpResetTimer(), RtlpShiftWaitArray, RtlQueueWorkItem(), Status, _RTLP_WAIT::ThreadCB, _RTLP_WAIT::Timer, _RTLP_WAITWORKER::TimerCondition, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerHandle, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerQueue, TRUE, _RTLP_WAITWORKER::Wait, and _RTLP_WAITWORKER::WaitThreadCallback. Referenced by RtlpWaitThread().
|
|
Definition at line 1638 of file threads.c. References DbgPrint, FALSE, _RTLP_IOWORKER_TCB::Flags, IOWorkerThreads, List, _RTLP_IOWORKER_TCB::List, _RTLP_IOWORKER_TCB::LongFunctionFlag, NT_SUCCESS, NtQueueApcThread(), NTSTATUS(), NumIOWorkerThreads, NumIOWorkRequests, NumLongIOWorkRequests, PersistentIOTCB, RtlpExecuteIOWorkItem(), Status, _RTLP_IOWORKER_TCB::ThreadHandle, and TRUE. Referenced by RtlQueueWorkItem().
|
|
Definition at line 1506 of file threads.c. References ASSERT, DbgPrint, FALSE, _RTLP_WORK::Flags, _RTLP_WORK::Function, NT_SUCCESS, NtQueueApcThread(), NtSetIoCompletion(), NTSTATUS(), NumLongWorkRequests, NumWorkRequests, PRTLP_WORK, RTLP_WORK, RtlpExecuteWorkerRequest(), RtlpForceAllocateTPHeap(), RtlpFreeTPHeap, Status, TimerThreadHandle, and WorkerCompletionPort. Referenced by RtlQueueWorkItem().
|
|
Definition at line 4631 of file threads.c. References _RTLP_GENERIC_TIMER::DeltaFiringTime, FALSE, INFINITE_TIME, _RTLP_GENERIC_TIMER::List, List, and TRUE. Referenced by RtlpDeactivateTimer(), RtlpDeactivateWait(), RtlpDeleteTimerQueue(), and RtlpReOrderDeltaList().
|
|
Definition at line 4711 of file threads.c. References _RTLP_GENERIC_TIMER::DeltaFiringTime, RtlpInsertInDeltaList(), RtlpRemoveFromDeltaList(), and TRUE. Referenced by RtlpAddTimer(), RtlpDeactivateTimer(), RtlpProcessWaitCompletion(), and RtlpUpdateTimer().
|
|
Definition at line 4429 of file threads.c. References _RTLP_WAIT_THREAD_CONTROL_BLOCK::Current64BitTickCount, FALSE, _RTLP_WAIT_THREAD_CONTROL_BLOCK::Firing64BitTickCount, INFINITE_TIME, Last64BitTickCount, NtCancelTimer(), NtSetTimer(), NULL, RtlpGet64BitTickCount(), RtlpGetResync64BitTickCount, RtlpServiceTimer(), RtlpSetFiring64BitTickCount, and TimerHandle. Referenced by RtlpAddTimer(), RtlpAddWait(), RtlpDeactivateTimer(), RtlpDeactivateWait(), RtlpDeleteTimerQueue(), RtlpProcessTimeouts(), RtlpProcessWaitCompletion(), RtlpServiceTimer(), RtlpTimerThread(), RtlpUpdateTimer(), and RtlpWaitThread().
|
|
Definition at line 3674 of file threads.c. References Last64BitTickCount, Resync64BitTickCount, and RtlpGet64BitTickCount(). Referenced by RtlDebugPrintTimes(), RtlpAddTimer(), RtlpCancelTimerEx(), RtlpDeleteTimerQueue(), RtlpServiceTimer(), and RtlpUpdateTimer().
|
|
Definition at line 4821 of file threads.c. References ACQUIRE_GLOBAL_TIMER_LOCK, DbgPrint, DPRN2, DPRN3, Firing64BitTickCount, INFINITE_TIME, Last64BitTickCount, List, NULL, PRTLP_TIMER, PRTLP_TIMER_QUEUE, RELEASE_GLOBAL_TIMER_LOCK, RtlDebugPrintTimes(), RTLP_TIMER_QUEUE, RtlpFireTimers(), RtlpFireTimersAndReorder(), RtlpGet64BitTickCount(), RtlpGetTimeRemaining(), RtlpInsertTimersIntoDeltaList(), RtlpResetTimer(), RtlpResync64BitTickCount(), TimerHandle, and TimerQueues. Referenced by RtlpResetTimer().
|
|
Definition at line 1820 of file threads.c. References LastThreadCreationTickCount, NtClose(), NtGetTickCount(), NTSTATUS(), NumIOWorkerThreads, RtlpIOWorkerThread(), RtlpStartThreadFunc, Status, and ThreadHandle. Referenced by RtlQueueWorkItem().
|
|
Definition at line 2677 of file threads.c. References FALSE, Initialized, L, NtDelayExecution(), NTSTATUS(), NULL, ONE_MILLISECOND_TIMEOUT, RtlCreateUserThread(), Status, and ThreadHandle.
|
|
Definition at line 1763 of file threads.c. References LastThreadCreationTickCount, NtClose(), NtGetTickCount(), NTSTATUS(), NumWorkerThreads, RtlpStartThreadFunc, RtlpWorkerThread(), Status, and ThreadHandle. Referenced by RtlpWorkerThreadTimerCallback(), RtlQueueWorkItem(), and RtlSetIoCompletionCallback().
|
|
Definition at line 5484 of file threads.c. References NtTerminateThread(). Referenced by RtlThreadPoolCleanup().
|
|
Definition at line 5201 of file threads.c. References Initialized, NtDelayExecution(), NULL, RtlpResetTimer(), TimerHandle, TimerThreadId, and TRUE. Referenced by RtlpInitializeTimerThreadPool().
|
|
Definition at line 4044 of file threads.c. References CHECK_SIGNATURE, NULL, PRTLP_TIMER_QUEUE, RtlpFreeTPHeap, RtlpGetQueueRelativeTime(), RtlpGetTimeRemaining(), RtlpReOrderDeltaList(), RtlpResetTimer(), RtlpResync64BitTickCount(), STATE_ACTIVE, TimerHandle, and TimerQueues. Referenced by RtlUpdateTimer().
|
|
Definition at line 5503 of file threads.c. References DbgPrint, Event(), FALSE, NT_SUCCESS, NtQueueApcThread(), NTSTATUS(), NtWaitForSingleObject(), NULL, ONE_SECOND_TIMEOUT, RtlpDoNothing(), Status, and ThreadHandle. Referenced by RtlDeleteTimer(), RtlDeleteTimerQueueEx(), and RtlDeregisterWaitEx().
|
|
Definition at line 2824 of file threads.c. References ACQUIRE_GLOBAL_WAIT_LOCK, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitArray, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ActiveWaitPointers, ASSERT, CHAR, _RTLP_WAIT_THREAD_CONTROL_BLOCK::Current64BitTickCount, DbgPrint, EXCEPTION_EXECUTE_HANDLER, FALSE, _RTLP_WAIT_THREAD_CONTROL_BLOCK::Firing64BitTickCount, _RTLP_WAIT_THREAD_CONTROL_BLOCK::FreeTimerBlocks, Initialized, NT_SUCCESS, NtClose(), NtCreateTimer(), NtDelayExecution(), NtDuplicateObject(), NtGetTickCount(), NTSTATUS(), NtWaitForMultipleObjects(), NULL, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumActiveWaits, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumWaits, RELEASE_GLOBAL_WAIT_LOCK, RTLP_TIMER, RtlpExitThreadFunc, RtlpProcessTimeouts(), RtlpProcessWaitCompletion(), RtlpResetTimer(), Status, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ThreadHandle, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ThreadId, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerBlocks, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerHandle, _RTLP_WAIT_THREAD_CONTROL_BLOCK::TimerQueue, TRUE, WAIT_IDLE_TIMEOUT, WaitThreads, and _RTLP_WAIT_THREAD_CONTROL_BLOCK::WaitThreadsList. Referenced by RtlpFindWaitThread().
|
|
Definition at line 2137 of file threads.c. References ASSERT, EXCEPTION_EXECUTE_HANDLER, FALSE, Initialized, L, MAX_WORKER_SLEEP_TIME_EXPONENT, NEW_THREAD_THRESHOLD, NT_SUCCESS, NtClose(), NtDuplicateObject(), NtQueryInformationThread(), NtRemoveIoCompletion(), NTSTATUS(), NULL, NumExecutingWorkerThreads, NumLongWorkRequests, NumMinWorkerThreads, NumWorkerThreads, NumWorkRequests, RtlpExitThreadFunc, Status, TotalExecutedWorkRequests, TRUE, WORKER_IDLE_TIMEOUT, WorkerCompletionPort, and WorkerCriticalSection. Referenced by RtlpStartWorkerThread().
|
|
Definition at line 2104 of file threads.c. References NT_SUCCESS, NTSTATUS(), NULL, RtlCreateTimer(), RtlCreateTimerQueue(), RtlpWorkerThreadTimerCallback(), Status, WorkerThreadTimer, and WorkerThreadTimerQueue. Referenced by RtlpInitializeWorkerThreadPool().
|
|
Definition at line 1872 of file threads.c. References FALSE, MAX_WORKER_THREADS, NEW_THREAD_THRESHOLD, NT_SUCCESS, NtQueryIoCompletion(), NTSTATUS(), NULL, NumExecutingWorkerThreads, NumLongWorkRequests, NumWorkerThreads, OldTotalExecutedWorkRequests, RtlpStartWorkerThread(), Status, TotalExecutedWorkRequests, TRUE, WorkerCompletionPort, and WorkerCriticalSection. Referenced by RtlpWorkerThreadInitializeTimers().
|
|
Definition at line 437 of file threads.c. References CompletedWorkerInitialization, LastThreadCreationTickCount, MAX_WORKER_THREADS, NEW_THREAD_THRESHOLD, NT_SUCCESS, NtGetTickCount(), NTSTATUS(), NumIOWorkerThreads, NumIOWorkRequests, NumLongIOWorkRequests, NumLongWorkRequests, NumMinWorkerThreads, NumWorkerThreads, NumWorkRequests, PersistentIOTCB, RtlpInitializeWorkerThreadPool(), RtlpQueueIOWorkerRequest(), RtlpQueueWorkerRequest(), RtlpStartIOWorkerThread(), RtlpStartWorkerThread(), Status, THREAD_CREATION_DAMPING_TIME1, THREAD_CREATION_DAMPING_TIME2, and WorkerCriticalSection. Referenced by RtlpFireTimers(), RtlpInitializeWorkerThreadPool(), RtlpLpcServerCallback(), and RtlpProcessWaitCompletion().
|
|
Definition at line 77 of file threads.c. References CompletedWaitInitialization, _RTLP_WAIT::Context, _RTLP_WAIT::DbgId, DbgPrint, DPRN0, Event(), _RTLP_WAIT::Flags, _RTLP_WAIT::Function, Handle, NextWaitDbgId, NT_SUCCESS, NtQueueApcThread(), NTSTATUS(), NULL, PRTLP_EVENT, PRTLP_WAIT, PRTLP_WAIT_THREAD_CONTROL_BLOCK, RTLP_WAIT, RtlpAddWait(), RtlpAllocateTPHeap, RtlpFindWaitThread(), RtlpFreeTPHeap, RtlpInitializeWaitThreadPool(), SET_SIGNATURE, Status, _RTLP_WAIT::ThreadCB, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ThreadHandle, _RTLP_WAIT::ThreadId, _RTLP_WAIT::Timeout, and _RTLP_WAIT::WaitHandle. Referenced by RtlCreateLpcServer(), and RtlpLpcServerCallback().
|
|
Definition at line 600 of file threads.c. References CompletedWorkerInitialization, NT_SUCCESS, NtSetInformationFile(), NTSTATUS(), NumMinWorkerThreads, NumWorkerThreads, RtlpInitializeWorkerThreadPool(), RtlpStartWorkerThread(), Status, WorkerCompletionPort, and WorkerCriticalSection.
|
|
Definition at line 1291 of file threads.c. References RtlpExitThreadFunc, and RtlpStartThreadFunc.
|
|
Definition at line 5818 of file threads.c. References Count, DbgPrint, Handle, and RtlCreateTimer().
|
|
Definition at line 1320 of file threads.c. References ACQUIRE_GLOBAL_TIMER_LOCK, ACQUIRE_GLOBAL_WAIT_LOCK, ASSERTMSG, CompletedTimerInitialization, CompletedWaitInitialization, CompletedWorkerInitialization, FALSE, IOWorkerThreads, IS_COMPONENT_INITIALIZED, List, _RTLP_IOWORKER_TCB::List, NtClose(), NtQueueApcThread(), NtSetIoCompletion(), NULL, NumIOWorkerThreads, NumIOWorkRequests, NumTimerQueues, _RTLP_WAIT_THREAD_CONTROL_BLOCK::NumWaits, NumWorkerThreads, NumWorkRequests, RELEASE_GLOBAL_TIMER_LOCK, RELEASE_GLOBAL_WAIT_LOCK, RTLP_IOWORKER_TCB, RTLP_WAIT_THREAD_CONTROL_BLOCK, RtlpThreadCleanup(), StartedTimerInitialization, StartedWaitInitialization, StartedWorkerInitialization, _RTLP_WAIT_THREAD_CONTROL_BLOCK::ThreadHandle, _RTLP_IOWORKER_TCB::ThreadHandle, TimerThreadHandle, WaitThreads, _RTLP_WAIT_THREAD_CONTROL_BLOCK::WaitThreadsList, WorkerCompletionPort, and WorkerCriticalSection.
|
|
Definition at line 1058 of file threads.c. References ASSERT, CHECK_DEL_SIGNATURE, DbgPrint, DPRN1, FALSE, NtQueueApcThread(), NTSTATUS(), NULL, PRTLP_TIMER, RTLP_TIMER, RtlpAllocateTPHeap, RtlpUpdateTimer(), Status, and TimerThreadHandle.
|
|
|