From 6271ee58f6fa7238ddbc4450f5df84667f6568b4 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Wed, 14 Sep 2011 06:22:45 +0000 Subject: [PATCH] fix overflow issue in default disk write queue size limit --- src/disk_io_thread.cpp | 5 ++--- src/session_impl.cpp | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/disk_io_thread.cpp b/src/disk_io_thread.cpp index cf809f2c1..00fada240 100644 --- a/src/disk_io_thread.cpp +++ b/src/disk_io_thread.cpp @@ -1517,10 +1517,9 @@ namespace libtorrent if (m_exceeded_write_queue) { int low_watermark = m_settings.max_queued_disk_bytes_low_watermark == 0 - ? m_settings.max_queued_disk_bytes * 7 / 8 + || m_settings.max_queued_disk_bytes_low_watermark >= m_settings.max_queued_disk_bytes + ? size_type(m_settings.max_queued_disk_bytes) * 7 / 8 : m_settings.max_queued_disk_bytes_low_watermark; - if (low_watermark >= m_settings.max_queued_disk_bytes) - low_watermark = m_settings.max_queued_disk_bytes * 7 / 8; if (m_queue_buffer_size < low_watermark || m_settings.max_queued_disk_bytes == 0) diff --git a/src/session_impl.cpp b/src/session_impl.cpp index 3679743fc..67eee0630 100644 --- a/src/session_impl.cpp +++ b/src/session_impl.cpp @@ -3283,7 +3283,8 @@ namespace aux { } int low_watermark = m_settings.max_queued_disk_bytes_low_watermark == 0 - ? m_settings.max_queued_disk_bytes * 7 / 8 + || m_settings.max_queued_disk_bytes_low_watermark >= m_settings.max_queued_disk_bytes + ? size_type(m_settings.max_queued_disk_bytes) * 7 / 8 : m_settings.max_queued_disk_bytes_low_watermark; if (now - m_last_log_rotation > hours(1))