From 49502ed824f70361a9ab6e36e21f514475ea6b75 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Wed, 16 Oct 2013 08:29:12 +0000 Subject: [PATCH] more valgrind instrumentation --- src/piece_picker.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/piece_picker.cpp b/src/piece_picker.cpp index f642d3f13..c751e2523 100644 --- a/src/piece_picker.cpp +++ b/src/piece_picker.cpp @@ -2174,6 +2174,10 @@ namespace libtorrent bool piece_picker::is_requested(piece_block block) const { +#ifdef TORRENT_USE_VALGRIND + VALGRIND_CHECK_VALUE_IS_DEFINED(block.block_index); + VALGRIND_CHECK_VALUE_IS_DEFINED(block.piece_index); +#endif TORRENT_ASSERT(block.block_index != piece_block::invalid.block_index); TORRENT_ASSERT(block.piece_index != piece_block::invalid.piece_index); TORRENT_ASSERT(block.piece_index < m_piece_map.size()); @@ -2188,6 +2192,10 @@ namespace libtorrent bool piece_picker::is_downloaded(piece_block block) const { +#ifdef TORRENT_USE_VALGRIND + VALGRIND_CHECK_VALUE_IS_DEFINED(block.block_index); + VALGRIND_CHECK_VALUE_IS_DEFINED(block.piece_index); +#endif TORRENT_ASSERT(block.block_index != piece_block::invalid.block_index); TORRENT_ASSERT(block.piece_index != piece_block::invalid.piece_index); TORRENT_ASSERT(block.piece_index < m_piece_map.size()); @@ -2203,12 +2211,17 @@ namespace libtorrent bool piece_picker::is_finished(piece_block block) const { +#ifdef TORRENT_USE_VALGRIND + VALGRIND_CHECK_VALUE_IS_DEFINED(block.block_index); + VALGRIND_CHECK_VALUE_IS_DEFINED(block.piece_index); +#endif TORRENT_ASSERT(block.block_index != piece_block::invalid.block_index); TORRENT_ASSERT(block.piece_index != piece_block::invalid.piece_index); TORRENT_ASSERT(block.piece_index < m_piece_map.size()); - if (m_piece_map[block.piece_index].index == piece_pos::we_have_index) return true; - if (m_piece_map[block.piece_index].downloading == 0) return false; + piece_pos const& p = m_piece_map[block.piece_index]; + if (p.index == piece_pos::we_have_index) return true; + if (p.downloading == 0) return false; std::vector::const_iterator i = find_dl_piece(block.piece_index); TORRENT_ASSERT(i != m_downloads.end()); TORRENT_ASSERT(i->info[block.block_index].piece_index == block.piece_index);