Index: src/libchcore/TOverlappedWriter.h
===================================================================
diff -u -N -r6c41e7b3cf7711c6f5027c0c0154013f50f08e7b -r593ca68706f3a3c7c2a3820b02a56fc24d5bea11
--- src/libchcore/TOverlappedWriter.h	(.../TOverlappedWriter.h)	(revision 6c41e7b3cf7711c6f5027c0c0154013f50f08e7b)
+++ src/libchcore/TOverlappedWriter.h	(.../TOverlappedWriter.h)	(revision 593ca68706f3a3c7c2a3820b02a56fc24d5bea11)
@@ -34,7 +34,7 @@
 
 	public:
 		explicit TOverlappedWriter(const logger::TLogFileDataPtr& spLogFileData, const TOrderedBufferQueuePtr& spBuffersToWrite,
-			unsigned long long ullFilePos);
+			unsigned long long ullFilePos, const TBufferListPtr& spEmptyBuffers);
 		TOverlappedWriter(const TOverlappedWriter&) = delete;
 		~TOverlappedWriter();
 
@@ -57,16 +57,19 @@
 		HANDLE GetEventWriteFailedHandle() const { return m_tFinishedBuffers.GetHasErrorEvent(); }
 		HANDLE GetEventWriteFinishedHandle() const { return m_tFinishedBuffers.GetHasBuffersEvent(); }
 
-		size_t GetBufferCount() const;
-		void ReleaseBuffers(const TBufferListPtr& spList);
+		void ReleaseBuffers();
 
 	private:
 		logger::TLoggerPtr m_spLog;
 
+		TBufferListPtr m_spEmptyBuffers;
+
 		TWriteBufferQueueWrapper m_tBuffersToWrite;
 		TOrderedBufferQueue m_tFinishedBuffers;
 
 		TOverlappedDataBuffer* m_pLastPartBuffer = nullptr;
+
+		bool m_bReleaseMode = false;
 	};
 }