Commit c001112
Fix: Correct conditional lock release w/out acquire (#681)
`index_gt::update` uses conditional `lock(node_try_conditional_lock_)` instead
of the hard `lock(node_lock_)` that `index_gt::add` use. When `candidate_slot == updated_slot`,
the function deliberately skips `atomic_set`, but it still returns a `node_conditional_lock_t`
whose destructor unconditionally calls `atomic_reset`.
Closes #680
Co-authored-by: YoungHwi <[email protected]>
Co-authored-by: YoungHwi <[email protected]>
Co-authored-by: Yoonseok Kim <[email protected]>1 parent 13c3fd9 commit c001112
1 file changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3836 | 3836 | | |
3837 | 3837 | | |
3838 | 3838 | | |
3839 | | - | |
| 3839 | + | |
| 3840 | + | |
| 3841 | + | |
| 3842 | + | |
| 3843 | + | |
3840 | 3844 | | |
3841 | 3845 | | |
3842 | 3846 | | |
| |||
0 commit comments