Index: src/libchcore/TWorkerThreadController.h
===================================================================
diff -u -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 -r89f857792bba8752de98ddd477949e45cef5ba5a
--- src/libchcore/TWorkerThreadController.h	(.../TWorkerThreadController.h)	(revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3)
+++ src/libchcore/TWorkerThreadController.h	(.../TWorkerThreadController.h)	(revision 89f857792bba8752de98ddd477949e45cef5ba5a)
@@ -39,20 +39,20 @@
 		// methods to be used outside of the thread being controlled
 		void StartThread(PTHREAD_START_ROUTINE pThreadFunction, PVOID pThreadParam, int iPriority = THREAD_PRIORITY_NORMAL);
 		void SignalThreadToStop();
-		void WaitForThreadToExit();
+		void WaitForThreadToExit(DWORD dwMiliseconds = INFINITE);
 
 		void StopThread();
 		void ChangePriority(int iPriority);
 
 		// methods to be used only inside the thread being controlled
 		bool KillRequested(DWORD dwWaitForSignal = 0);
-
 		HANDLE GetKillThreadHandle() const;
+
 	protected:
 		void RemoveZombieData(boost::upgrade_lock<boost::shared_mutex>& rUpgradeLock);
 
 		void SignalThreadToStop(boost::upgrade_lock<boost::shared_mutex>& rUpgradeLock);
-		void WaitForThreadToExit(boost::upgrade_lock<boost::shared_mutex>& rUpgradeLock);
+		void WaitForThreadToExit(boost::upgrade_lock<boost::shared_mutex>& rUpgradeLock, DWORD dwMiliseconds = INFINITE);
 
 	private:
 		TWorkerThreadController(const TWorkerThreadController&);