core/odin/tokenizer: fix broken double-checked lock in init

This commit is contained in:
Fernando Nunes
2026-08-08 20:25:52 -03:00
parent 0aaa8cf3fc
commit 3020cecd08

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()
}