File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed
Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change 99
1010class SISLConan (ConanFile ):
1111 name = "sisl"
12- version = "13.2.1 "
12+ version = "13.2.2 "
1313
1414 homepage = "https://github.com/eBay/sisl"
1515 description = "Library for fast data structures, utilities"
Original file line number Diff line number Diff line change @@ -90,6 +90,12 @@ class StreamTracker {
9090
9191 void rollback (int64_t new_end_idx) {
9292 auto holder = std::shared_lock< folly::SharedMutex >(m_lock);
93+ // Special case: allow rollback exactly to (start_idx - 1), which clears all slots >= start
94+ if (new_end_idx + 1 == m_slot_ref_idx) {
95+ m_active_slot_bits.reset_bits (0 , m_active_slot_bits.size ());
96+ m_comp_slot_bits.reset_bits (0 , m_comp_slot_bits.size ());
97+ return ;
98+ }
9399 if ((new_end_idx < m_slot_ref_idx) ||
94100 (new_end_idx >= (m_slot_ref_idx + int64_cast (m_active_slot_bits.size ())))) {
95101 throw std::out_of_range (" Slot idx is not in range" );
You can’t perform that action at this time.
0 commit comments