void CBreakPoints::ExecMemCheckJitCleanup() { for (auto it = cleanupMemChecks_.begin(), end = cleanupMemChecks_.end(); it != end; ++it) { auto check = *it; check->JitCleanup(); } cleanupMemChecks_.clear(); }
void CBreakPoints::ExecMemCheckJitCleanup() { std::unique_lock<std::mutex> guard(memCheckMutex_); for (auto it = cleanupMemChecks_.begin(), end = cleanupMemChecks_.end(); it != end; ++it) { auto check = *it; bool changed = check->JitApplyChanged(); auto copy = *check; guard.unlock(); copy.JitCleanup(changed); guard.lock(); } cleanupMemChecks_.clear(); }