mirror of
https://github.com/reactos/reactos.git
synced 2025-05-28 13:38:19 +00:00
[KERNEL32_VISTA][SDK] Import Threadpool.c from wine-9.7
This commit is contained in:
parent
d92f02e2e5
commit
405ed2b4ce
7 changed files with 3444 additions and 2 deletions
|
@ -13,5 +13,34 @@
|
|||
@ stdcall RtlRunOnceComplete(ptr long ptr)
|
||||
@ stdcall RtlRunOnceExecuteOnce(ptr ptr ptr ptr)
|
||||
|
||||
@ stdcall TpAllocCleanupGroup(ptr)
|
||||
@ stdcall TpAllocPool(ptr ptr)
|
||||
@ stdcall TpAllocTimer(ptr ptr ptr ptr)
|
||||
@ stdcall TpAllocWait(ptr ptr ptr ptr)
|
||||
@ stdcall TpAllocWork(ptr ptr ptr ptr)
|
||||
@ stdcall TpCallbackLeaveCriticalSectionOnCompletion(ptr ptr)
|
||||
@ stdcall TpCallbackMayRunLong(ptr)
|
||||
@ stdcall TpCallbackReleaseMutexOnCompletion(ptr ptr)
|
||||
@ stdcall TpCallbackReleaseSemaphoreOnCompletion(ptr ptr long)
|
||||
@ stdcall TpCallbackSetEventOnCompletion(ptr ptr)
|
||||
@ stdcall TpCallbackUnloadDllOnCompletion(ptr ptr)
|
||||
@ stdcall TpDisassociateCallback(ptr)
|
||||
@ stdcall TpIsTimerSet(ptr)
|
||||
@ stdcall TpPostWork(ptr)
|
||||
@ stdcall TpReleaseCleanupGroup(ptr)
|
||||
@ stdcall TpReleaseCleanupGroupMembers(ptr long ptr)
|
||||
@ stdcall TpReleasePool(ptr)
|
||||
@ stdcall TpReleaseTimer(ptr)
|
||||
@ stdcall TpReleaseWait(ptr)
|
||||
@ stdcall TpReleaseWork(ptr)
|
||||
@ stdcall TpSetPoolMaxThreads(ptr long)
|
||||
@ stdcall TpSetPoolMinThreads(ptr long)
|
||||
@ stdcall TpSetTimer(ptr ptr long long)
|
||||
@ stdcall TpSetWait(ptr long ptr)
|
||||
@ stdcall TpSimpleTryPost(ptr ptr ptr)
|
||||
@ stdcall TpWaitForTimer(ptr long)
|
||||
@ stdcall TpWaitForWait(ptr long)
|
||||
@ stdcall TpWaitForWork(ptr long)
|
||||
|
||||
@ stdcall RtlConnectToSm(ptr ptr long ptr) SmConnectToSm
|
||||
@ stdcall RtlSendMsgToSm(ptr ptr) SmSendMsgToSm
|
||||
|
|
|
@ -268,8 +268,7 @@ check Wine current sources first as it may already be fixed.
|
|||
sdk/lib/3rdparty/strmbase # Synced to WineStaging-3.3
|
||||
|
||||
sdk/lib/rtl/actctx.c # Synced to wine-5.18
|
||||
sdk/lib/rtl/timerqueue.c # Synced to wine-5.18
|
||||
sdk/lib/rtl/wait.c # Synced to wine-5.18
|
||||
sdk/lib/rtl/threadpool.c # Synced with wine-9.7
|
||||
|
||||
advapi32 -
|
||||
dll/win32/advapi32/wine/cred.c # Synced to WineStaging-3.3
|
||||
|
|
|
@ -4745,6 +4745,54 @@ RtlSleepConditionVariableSRW(
|
|||
_In_ ULONG Flags);
|
||||
#endif
|
||||
|
||||
//
|
||||
// Synchronization functions
|
||||
//
|
||||
VOID
|
||||
NTAPI
|
||||
RtlInitializeConditionVariable(OUT PRTL_CONDITION_VARIABLE ConditionVariable);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlWakeConditionVariable(IN OUT PRTL_CONDITION_VARIABLE ConditionVariable);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlWakeAllConditionVariable(IN OUT PRTL_CONDITION_VARIABLE ConditionVariable);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSleepConditionVariableCS(IN OUT PRTL_CONDITION_VARIABLE ConditionVariable,
|
||||
IN OUT PRTL_CRITICAL_SECTION CriticalSection,
|
||||
IN const PLARGE_INTEGER TimeOut OPTIONAL);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSleepConditionVariableSRW(IN OUT PRTL_CONDITION_VARIABLE ConditionVariable,
|
||||
IN OUT PRTL_SRWLOCK SRWLock,
|
||||
IN PLARGE_INTEGER TimeOut OPTIONAL,
|
||||
IN ULONG Flags);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlInitializeSRWLock(OUT PRTL_SRWLOCK SRWLock);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlAcquireSRWLockShared(IN OUT PRTL_SRWLOCK SRWLock);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlReleaseSRWLockShared(IN OUT PRTL_SRWLOCK SRWLock);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlAcquireSRWLockExclusive(IN OUT PRTL_SRWLOCK SRWLock);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlReleaseSRWLockExclusive(IN OUT PRTL_SRWLOCK SRWLock);
|
||||
|
||||
//
|
||||
// Secure Memory Functions
|
||||
//
|
||||
|
|
|
@ -4123,6 +4123,7 @@ InitOnceExecuteOnce(
|
|||
_Inout_opt_ PVOID Parameter,
|
||||
_Outptr_opt_result_maybenull_ LPVOID *Context);
|
||||
|
||||
typedef VOID (NTAPI *PTP_WIN32_IO_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PVOID,ULONG,ULONG_PTR,PTP_IO);
|
||||
|
||||
#if defined(_SLIST_HEADER_) && !defined(_NTOS_) && !defined(_NTOSP_)
|
||||
|
||||
|
|
|
@ -4480,7 +4480,11 @@ DbgRaiseAssertionFailure(VOID)
|
|||
typedef struct _TP_POOL TP_POOL, *PTP_POOL;
|
||||
typedef struct _TP_WORK TP_WORK, *PTP_WORK;
|
||||
typedef struct _TP_CALLBACK_INSTANCE TP_CALLBACK_INSTANCE, *PTP_CALLBACK_INSTANCE;
|
||||
typedef struct _TP_TIMER TP_TIMER, *PTP_TIMER;
|
||||
typedef struct _TP_WAIT TP_WAIT, *PTP_WAIT;
|
||||
typedef struct _TP_IO TP_IO, *PTP_IO;
|
||||
|
||||
typedef DWORD TP_WAIT_RESULT;
|
||||
typedef DWORD TP_VERSION, *PTP_VERSION;
|
||||
|
||||
typedef enum _TP_CALLBACK_PRIORITY {
|
||||
|
@ -4509,6 +4513,9 @@ typedef VOID
|
|||
_Inout_opt_ PVOID ObjectContext,
|
||||
_Inout_opt_ PVOID CleanupContext);
|
||||
|
||||
typedef VOID (NTAPI *PTP_TIMER_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PTP_TIMER);
|
||||
typedef VOID (NTAPI *PTP_WAIT_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PTP_WAIT,TP_WAIT_RESULT);
|
||||
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
|
||||
typedef struct _TP_CALLBACK_ENVIRON_V3 {
|
||||
TP_VERSION Version;
|
||||
|
|
|
@ -127,6 +127,7 @@ list(APPEND SOURCE_VISTA
|
|||
condvar.c
|
||||
runonce.c
|
||||
srw.c
|
||||
threadpool.c
|
||||
utf8.c)
|
||||
|
||||
add_library(rtl_vista ${SOURCE_VISTA})
|
||||
|
|
3357
sdk/lib/rtl/threadpool.c
Normal file
3357
sdk/lib/rtl/threadpool.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue