Merge pull request #7258 from Dreamshade-1911/fix/tokenizer-keyword-lut-double-checked-lock

core/odin/tokenizer: fix broken double-checked lock in `init`
This commit is contained in:
Jeroen van Rijn
2026-08-09 01:50:20 +02:00
committed by GitHub

View File

@@ -109,8 +109,10 @@ init :: proc(t: ^Tokenizer, src: string, path: string, err: Error_Handler = defa
if !intrinsics.atomic_load(&_global_keyword_lut_initialized) {
_global_keyword_spin_lock()
ok := keyword_lut_init(&global_keyword_lut)
intrinsics.atomic_store(&_global_keyword_lut_initialized, ok)
if !intrinsics.atomic_load(&_global_keyword_lut_initialized) {
ok := keyword_lut_init(&global_keyword_lut)
intrinsics.atomic_store(&_global_keyword_lut_initialized, ok)
}
_global_keyword_spin_unlock()
}