fixed threading problem in file_pool

This commit is contained in:
Arvid Norberg
2007-04-12 05:08:23 +00:00
parent 1fd3216e6c
commit 79cfdb609f
2 changed files with 5 additions and 0 deletions

View File

@@ -45,6 +45,7 @@ namespace libtorrent
{
assert(st != 0);
assert(p.is_complete());
boost::mutex::scoped_lock l(m_mutex);
typedef nth_index<file_set, 0>::type path_view;
path_view& pt = get<0>(m_files);
path_view::iterator i = pt.find(p);
@@ -93,6 +94,7 @@ namespace libtorrent
void file_pool::release(void* st)
{
boost::mutex::scoped_lock l(m_mutex);
assert(st != 0);
using boost::tie;
@@ -108,6 +110,7 @@ namespace libtorrent
{
assert(size > 0);
if (size == m_size) return;
boost::mutex::scoped_lock l(m_mutex);
m_size = size;
if (int(m_files.size()) <= m_size) return;