3 of 4 commit (sorry my svn clinet is crazy for moment)
authorMagnus Olsen <magnus@greatlord.com>
Mon, 3 Jul 2006 20:24:46 +0000 (20:24 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Mon, 3 Jul 2006 20:24:46 +0000 (20:24 +0000)
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
reactos/lib/rtl/rtlp.h
reactos/lib/rtl/timerqueue.c

index 611c303..11306ad 100644 (file)
@@ -94,5 +94,6 @@
        <file>unicodeprefix.c</file>
        <file>vectoreh.c</file>
        <file>version.c</file>
+       <file>workitem.c</file>
        <pch>rtl.h</pch>
 </module>
index e0d0708..dde1120 100644 (file)
@@ -114,4 +114,11 @@ DebugService(IN ULONG Service,
 #define TAG_ASTR        TAG('A', 'S', 'T', 'R')\r
 #define TAG_OSTR        TAG('O', 'S', 'T', 'R')\r
 \r
+/* Timer Queue */\r
+\r
+extern HANDLE TimerThreadHandle;\r
+\r
+NTSTATUS\r
+RtlpInitializeTimerThread(VOID);\r
+\r
 /* EOF */\r
index 4cc2449..2e85f7b 100644 (file)
 
 typedef VOID (CALLBACK *WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );
 
+HANDLE TimerThreadHandle = NULL;
+
+NTSTATUS
+RtlpInitializeTimerThread(VOID)
+{
+    return STATUS_NOT_IMPLEMENTED;
+}
+
 /*
  * @unimplemented
  */