From 34861fa5e231a3820b61c241fa2db27d210d931c Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Mon, 3 Jul 2006 20:24:46 +0000 Subject: [PATCH] 3 of 4 commit (sorry my svn clinet is crazy for moment) Commit w3seek patch from bug 1609 : file attachment (id=910) The attached patch implements QueueUserWorkItem()/RtlQueueWorkItem() (lacks optimizations!!!). WINE's latest rpcrt4 relies on it. 1. Implement QueueUserWorkItem()/RtlQueueWorkItem() : 2. A slightly optimized 3. Supports WT_TRANSFER_IMPERSONATION 4. Slightly improved handling of growing/shrinking the pool by assuming work items with WT_EXECUTELONGFUNCTION run longer 5. Fixes a hack that made a worker thread always terminate if there were at least one more thread available svn path=/trunk/; revision=22806 --- reactos/lib/rtl/rtl.rbuild | 1 + reactos/lib/rtl/rtlp.h | 7 +++++++ reactos/lib/rtl/timerqueue.c | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/reactos/lib/rtl/rtl.rbuild b/reactos/lib/rtl/rtl.rbuild index 611c303eaa2..11306ad8c26 100644 --- a/reactos/lib/rtl/rtl.rbuild +++ b/reactos/lib/rtl/rtl.rbuild @@ -94,5 +94,6 @@ unicodeprefix.c vectoreh.c version.c + workitem.c rtl.h diff --git a/reactos/lib/rtl/rtlp.h b/reactos/lib/rtl/rtlp.h index e0d0708d377..dde112070f0 100644 --- a/reactos/lib/rtl/rtlp.h +++ b/reactos/lib/rtl/rtlp.h @@ -114,4 +114,11 @@ DebugService(IN ULONG Service, #define TAG_ASTR TAG('A', 'S', 'T', 'R') #define TAG_OSTR TAG('O', 'S', 'T', 'R') +/* Timer Queue */ + +extern HANDLE TimerThreadHandle; + +NTSTATUS +RtlpInitializeTimerThread(VOID); + /* EOF */ diff --git a/reactos/lib/rtl/timerqueue.c b/reactos/lib/rtl/timerqueue.c index 4cc24491de4..2e85f7b838e 100644 --- a/reactos/lib/rtl/timerqueue.c +++ b/reactos/lib/rtl/timerqueue.c @@ -17,6 +17,14 @@ typedef VOID (CALLBACK *WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN ); +HANDLE TimerThreadHandle = NULL; + +NTSTATUS +RtlpInitializeTimerThread(VOID) +{ + return STATUS_NOT_IMPLEMENTED; +} + /* * @unimplemented */