Author: greatlrd
Date: Tue Jul 4 00:23:48 2006
New Revision: 22805
URL:
http://svn.reactos.org/svn/reactos?rev=22805&view=rev
Log:
2 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
Modified:
trunk/reactos/include/ndk/rtlfuncs.h
trunk/reactos/include/psdk/winnt.h
Modified: trunk/reactos/include/ndk/rtlfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtlfuncs.h?rev…
==============================================================================
--- trunk/reactos/include/ndk/rtlfuncs.h (original)
+++ trunk/reactos/include/ndk/rtlfuncs.h Tue Jul 4 00:23:48 2006
@@ -1933,6 +1933,18 @@
#define NtCurrentPeb() (NtCurrentTeb()->ProcessEnvironmentBlock)
//
+// Thread Pool Functions
+//
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlQueueWorkItem(
+ IN WORKERCALLBACKFUNC Function,
+ IN PVOID Context OPTIONAL,
+ IN ULONG Flags);
+
+//
// Environment/Path Functions
//
NTSYSAPI
Modified: trunk/reactos/include/psdk/winnt.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnt.h?rev=2…
==============================================================================
--- trunk/reactos/include/psdk/winnt.h (original)
+++ trunk/reactos/include/psdk/winnt.h Tue Jul 4 00:23:48 2006
@@ -666,6 +666,7 @@
#define LANG_ESTONIAN 0x25
#define LANG_LATVIAN 0x26
#define LANG_LITHUANIAN 0x27
+#define LANG_TAJIK 0x28
#define LANG_FARSI 0x29
#define LANG_VIETNAMESE 0x2a
#define LANG_ARMENIAN 0x2b
@@ -804,6 +805,7 @@
#define SUBLANG_SPANISH_PUERTO_RICO 0x14
#define SUBLANG_SWEDISH 0x01
#define SUBLANG_SWEDISH_FINLAND 0x02
+#define SUBLANG_TAJIK_TAJIKISTAN 0x01
#define SUBLANG_THAI_THAILAND 0x1
#define SUBLANG_URDU_PAKISTAN 0x01
#define SUBLANG_URDU_INDIA 0x02
@@ -1071,6 +1073,8 @@
#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
#define IMAGE_DIRECTORY_ENTRY_IAT 12
+#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13
+#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14
#define IMAGE_SCN_TYPE_REG 0
#define IMAGE_SCN_TYPE_DSECT 1
#define IMAGE_SCN_TYPE_NOLOAD 2
@@ -1482,12 +1486,16 @@
#define VER_SUITE_BLADE 1024
#define WT_EXECUTEDEFAULT 0x00000000
#define WT_EXECUTEINIOTHREAD 0x00000001
+#define WT_EXECUTEINUITHREAD 0x00000002
#define WT_EXECUTEINWAITTHREAD 0x00000004
#define WT_EXECUTEONLYONCE 0x00000008
#define WT_EXECUTELONGFUNCTION 0x00000010
#define WT_EXECUTEINTIMERTHREAD 0x00000020
+#define WT_EXECUTEINPERSISTENTIOTHREAD 0x00000040
#define WT_EXECUTEINPERSISTENTTHREAD 0x00000080
#define WT_TRANSFER_IMPERSONATION 0x00000100
+#define WT_SET_MAX_THREADPOOL_THREADS(flags,limit) ((flags)|=(limit)<<16)
+typedef VOID (NTAPI *WORKERCALLBACKFUNC)(PVOID);
#if (_WIN32_WINNT >= 0x0501)
#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2