Index: src/libchcore/TReadBufferQueueWrapper.h =================================================================== diff -u -N -rda7737de7046ba0ecd255240fb36b4a46584ebf2 -r6c41e7b3cf7711c6f5027c0c0154013f50f08e7b --- src/libchcore/TReadBufferQueueWrapper.h (.../TReadBufferQueueWrapper.h) (revision da7737de7046ba0ecd255240fb36b4a46584ebf2) +++ src/libchcore/TReadBufferQueueWrapper.h (.../TReadBufferQueueWrapper.h) (revision 6c41e7b3cf7711c6f5027c0c0154013f50f08e7b) @@ -34,6 +34,7 @@ public: TReadBufferQueueWrapper(const TBufferListPtr& spUnorderedQueue, unsigned long long ullNextReadPosition, DWORD dwChunkSize); + ~TReadBufferQueueWrapper(); void Push(TOverlappedDataBuffer* pBuffer, bool bKeepPosition); TOverlappedDataBuffer* Pop(); @@ -49,9 +50,12 @@ private: bool IsBufferReady() const; void UpdateHasBuffers(); + void UpdateHasBuffers(bool bAdded); private: TBufferListPtr m_spUnorderedQueue; // external queue of buffers to use + boost::signals2::connection m_emptyBuffersQueueConnector; + TSimpleOrderedBufferQueue m_tClaimedQueue; // internal queue of claimed buffers TEvent m_eventHasBuffers;