diff --git a/include/libtorrent/disk_io_job.hpp b/include/libtorrent/disk_io_job.hpp index 0fb4fb786..c3c9dc477 100644 --- a/include/libtorrent/disk_io_job.hpp +++ b/include/libtorrent/disk_io_job.hpp @@ -196,7 +196,7 @@ namespace libtorrent { status_t ret = status_t::no_error; // flags controlling this job - disk_job_flags_t flags{}; + disk_job_flags_t flags = disk_job_flags_t{}; move_flags_t move_flags = move_flags_t::always_replace_files; diff --git a/src/disk_io_thread.cpp b/src/disk_io_thread.cpp index 3fb9a949b..3be0f0b34 100644 --- a/src/disk_io_thread.cpp +++ b/src/disk_io_thread.cpp @@ -2882,6 +2882,7 @@ constexpr disk_job_flags_t disk_interface::cache_hit; disk_io_job* fj = allocate_job(job_action_t::flush_storage); fj->storage = j->storage; + TORRENT_ASSERT(fj->flags == disk_job_flags_t{}); int ret = j->storage->raise_fence(j, fj, m_stats_counters); if (ret == aux::disk_job_fence::fence_post_fence) diff --git a/src/disk_job_fence.cpp b/src/disk_job_fence.cpp index 0ed093f4d..779ccd7a8 100644 --- a/src/disk_job_fence.cpp +++ b/src/disk_job_fence.cpp @@ -181,6 +181,7 @@ namespace libtorrent { namespace aux { int disk_job_fence::raise_fence(disk_io_job* j, disk_io_job* fj , counters& cnt) { + TORRENT_ASSERT(!(j->flags & disk_io_job::in_progress)); TORRENT_ASSERT(!(j->flags & disk_io_job::fence)); j->flags |= disk_io_job::fence; @@ -214,6 +215,7 @@ namespace libtorrent { namespace aux { #endif m_blocked_jobs.push_back(fj); cnt.inc_stats_counter(counters::blocked_disk_jobs); + TORRENT_ASSERT(!(j->flags & disk_io_job::in_progress)); } else {