Module: wine Branch: master Commit: a54d972868f03ed38bb98c3a0d9888a777e9b7ec URL: http://source.winehq.org/git/wine.git/?a=commit;h=a54d972868f03ed38bb98c3a0d...
Author: Sebastian Lackner sebastian@fds-team.de Date: Fri Jul 3 01:59:22 2015 +0200
kernel32: Forward threadpool cleanup group functions to ntdll.
---
dlls/kernel32/kernel32.spec | 6 +++--- dlls/kernel32/thread.c | 20 ++++++++++++++++++++ include/winternl.h | 6 ++++++ 3 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 3c40975..b48ea3b 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -229,8 +229,8 @@ @ stdcall CloseProfileUserMapping() @ stub CloseSystemHandle # @ stub CloseThreadpool -# @ stub CloseThreadpoolCleanupGroup -# @ stub CloseThreadpoolCleanupGroupMembers +@ stdcall CloseThreadpoolCleanupGroup(ptr) ntdll.TpReleaseCleanupGroup +@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) ntdll.TpReleaseCleanupGroupMembers # @ stub CloseThreadpoolIo # @ stub CloseThreadpoolTimer # @ stub CloseThreadpoolWait @@ -332,7 +332,7 @@ @ stdcall CreateTapePartition(long long long long) @ stdcall CreateThread(ptr long ptr long long ptr) # @ stub CreateThreadpool -# @ stub CreateThreadpoolCleanupGroup +@ stdcall CreateThreadpoolCleanupGroup() # @ stub CreateThreadpoolIo # @ stub CreateThreadpoolTimer # @ stub CreateThreadpoolWait diff --git a/dlls/kernel32/thread.c b/dlls/kernel32/thread.c index 3dabf94..b2b9def 100644 --- a/dlls/kernel32/thread.c +++ b/dlls/kernel32/thread.c @@ -860,3 +860,23 @@ BOOL WINAPI GetThreadPreferredUILanguages( DWORD flags, PULONG count, PCZZWSTR b *buffersize = 0; return TRUE; } + +/*********************************************************************** + * CreateThreadpoolCleanupGroup (KERNEL32.@) + */ +PTP_CLEANUP_GROUP WINAPI CreateThreadpoolCleanupGroup( void ) +{ + TP_CLEANUP_GROUP *group; + NTSTATUS status; + + TRACE( "\n" ); + + status = TpAllocCleanupGroup( &group ); + if (status) + { + SetLastError( RtlNtStatusToDosError(status) ); + return NULL; + } + + return group; +} diff --git a/include/winternl.h b/include/winternl.h index a84c6d4..c918e09 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -2616,6 +2616,12 @@ NTSYSAPI LONGLONG WINAPI RtlLargeIntegerSubtract(LONGLONG,LONGLONG); NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar(const ULONGLONG *,ULONG,ULONG,PCHAR); #endif
+/* Threadpool functions */ + +NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **); +NTSYSAPI void WINAPI TpReleaseCleanupGroup(TP_CLEANUP_GROUP *); +NTSYSAPI void WINAPI TpReleaseCleanupGroupMembers(TP_CLEANUP_GROUP *,BOOL,PVOID); + /* Wine internal functions */
NTSYSAPI NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret,