ntdll: Add missing calls to RtlExitUserThread.

Sebastian Lackner sebastian at fds-team.de
Wed Jul 8 00:07:41 CDT 2015


Its better to have a well-defined exit code.

---
 dlls/ntdll/threadpool.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/ntdll/threadpool.c b/dlls/ntdll/threadpool.c
index 3f54208..a4e0619 100644
--- a/dlls/ntdll/threadpool.c
+++ b/dlls/ntdll/threadpool.c
@@ -968,6 +968,7 @@ static void WINAPI timer_queue_thread_proc(LPVOID p)
     RtlDeleteCriticalSection(&q->cs);
     q->magic = 0;
     RtlFreeHeap(GetProcessHeap(), 0, q);
+    RtlExitUserThread( 0 );
 }
 
 static void queue_destroy_timer(struct queue_timer *t)
@@ -1361,6 +1362,7 @@ static void CALLBACK timerqueue_thread_proc( void *param )
     RtlLeaveCriticalSection( &timerqueue.cs );
 
     TRACE( "terminating timer queue thread\n" );
+    RtlExitUserThread( 0 );
 }
 
 /***********************************************************************
@@ -1585,6 +1587,7 @@ static void CALLBACK waitqueue_thread_proc( void *param )
     NtClose( bucket->update_event );
 
     RtlFreeHeap( GetProcessHeap(), 0, bucket );
+    RtlExitUserThread( 0 );
 }
 
 /***********************************************************************
@@ -2312,6 +2315,7 @@ static void CALLBACK threadpool_worker_proc( void *param )
 
     TRACE( "terminating worker thread for pool %p\n", pool );
     tp_threadpool_release( pool );
+    RtlExitUserThread( 0 );
 }
 
 /***********************************************************************
-- 
2.4.5



More information about the wine-patches mailing list