use a deque instead of list for disk io jobs queue
This commit is contained in:
parent
206b736632
commit
74ccff22be
|
@ -46,7 +46,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||
#include <boost/function/function2.hpp>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <boost/shared_array.hpp>
|
||||
#include <list>
|
||||
#include <deque>
|
||||
#include "libtorrent/config.hpp"
|
||||
#ifndef TORRENT_DISABLE_POOL_ALLOCATOR
|
||||
#include <boost/pool/pool.hpp>
|
||||
|
@ -441,7 +441,7 @@ namespace libtorrent
|
|||
event m_signal;
|
||||
bool m_abort;
|
||||
bool m_waiting_to_shutdown;
|
||||
std::list<disk_io_job> m_jobs;
|
||||
std::deque<disk_io_job> m_jobs;
|
||||
size_type m_queue_buffer_size;
|
||||
|
||||
ptime m_last_file_check;
|
||||
|
|
|
@ -358,7 +358,7 @@ namespace libtorrent
|
|||
{
|
||||
mutex::scoped_lock l(m_queue_mutex);
|
||||
// read jobs are aborted, write and move jobs are syncronized
|
||||
for (std::list<disk_io_job>::iterator i = m_jobs.begin();
|
||||
for (std::deque<disk_io_job>::iterator i = m_jobs.begin();
|
||||
i != m_jobs.end();)
|
||||
{
|
||||
if (i->storage != s)
|
||||
|
@ -1862,7 +1862,7 @@ namespace libtorrent
|
|||
m_log << log_time() << " abort_torrent " << std::endl;
|
||||
#endif
|
||||
mutex::scoped_lock jl(m_queue_mutex);
|
||||
for (std::list<disk_io_job>::iterator i = m_jobs.begin();
|
||||
for (std::deque<disk_io_job>::iterator i = m_jobs.begin();
|
||||
i != m_jobs.end();)
|
||||
{
|
||||
if (i->storage != j.storage)
|
||||
|
@ -1929,7 +1929,7 @@ namespace libtorrent
|
|||
// clear all read jobs
|
||||
mutex::scoped_lock jl(m_queue_mutex);
|
||||
|
||||
for (std::list<disk_io_job>::iterator i = m_jobs.begin();
|
||||
for (std::deque<disk_io_job>::iterator i = m_jobs.begin();
|
||||
i != m_jobs.end();)
|
||||
{
|
||||
if (should_cancel_on_abort(*i))
|
||||
|
|
Loading…
Reference in New Issue