Index: src/libchcore/TOverlappedReaderFB.h
===================================================================
diff -u -rf1d25f23712f5de7459f690ab51b2640d0f81b91 -r10d42e85d810f6da082cb2ce4415dcb72903410e
--- src/libchcore/TOverlappedReaderFB.h	(.../TOverlappedReaderFB.h)	(revision f1d25f23712f5de7459f690ab51b2640d0f81b91)
+++ src/libchcore/TOverlappedReaderFB.h	(.../TOverlappedReaderFB.h)	(revision 10d42e85d810f6da082cb2ce4415dcb72903410e)
@@ -22,6 +22,7 @@
 #include "TOverlappedReader.h"
 #include "TFilesystemFileFeedbackWrapper.h"
 #include "TOverlappedProcessorRange.h"
+#include <boost/thread/thread.hpp>
 
 namespace chcore
 {
@@ -44,6 +45,9 @@
 		~TOverlappedReaderFB();
 
 		TSubTaskBase::ESubOperationResult Start();
+		
+		void StartThreaded();
+		TSubTaskBase::ESubOperationResult StopThreaded();
 
 		TOverlappedReaderPtr GetReader() const;
 		void SetReleaseMode();
@@ -53,6 +57,7 @@
 
 	private:
 		TSubTaskBase::ESubOperationResult UpdateFileStats();
+		void ThreadProc();
 
 	private:
 		TOverlappedReaderPtr m_spReader;
@@ -61,6 +66,10 @@
 		TFilesystemFileFeedbackWrapperPtr m_spSrcFile;
 		TSubTaskStatsInfoPtr m_spStats;
 		TFileInfoPtr m_spSrcFileInfo;
+
+		TWorkerThreadController& m_rThreadController;
+		std::unique_ptr<boost::thread> m_spReadThread;
+		TSubTaskBase::ESubOperationResult m_eThreadResult = TSubTaskBase::eSubResult_Continue;
 	};
 
 	using TOverlappedReaderFBPtr = std::shared_ptr<TOverlappedReaderFB>;