Index: src/libchcore/TOrderedBufferQueue.h
===================================================================
diff -u -N -rc719644bb4360fcf7ccf6f1139bcae852bd6effd -r518d1a3484cde91ff17c071211df5e40cb3487e3
--- src/libchcore/TOrderedBufferQueue.h	(.../TOrderedBufferQueue.h)	(revision c719644bb4360fcf7ccf6f1139bcae852bd6effd)
+++ src/libchcore/TOrderedBufferQueue.h	(.../TOrderedBufferQueue.h)	(revision 518d1a3484cde91ff17c071211df5e40cb3487e3)
@@ -34,7 +34,8 @@
 		static const unsigned long long NoPosition = 0xffffffffffffffff;
 
 	public:
-		explicit TOrderedBufferQueue(unsigned long long ullExpectedPosition);
+		explicit TOrderedBufferQueue(const TBufferListPtr& spEmptyBuffers, unsigned long long ullExpectedPosition);
+		~TOrderedBufferQueue();
 
 		void Push(TOverlappedDataBuffer* pBuffer);
 
@@ -54,7 +55,7 @@
 		HANDLE GetHasErrorEvent() const;
 		HANDLE GetHasReadingFinished() const;
 
-		void ClearBuffers(const TBufferListPtr& spBuffers);
+		void ClearBuffers();
 
 		boost::signals2::signal<void(bool)>& GetNotifier();
 
@@ -71,6 +72,8 @@
 		using BufferCollection = std::set<TOverlappedDataBuffer*, CompareBufferPositions>;
 		BufferCollection m_setBuffers;
 
+		TBufferListPtr m_spEmptyBuffers;
+
 		mutable boost::shared_mutex m_mutex;
 
 		TOverlappedDataBuffer* m_pFirstErrorBuffer = nullptr;