diff --git a/core/odin/tokenizer/tokenizer.odin b/core/odin/tokenizer/tokenizer.odin index 483589ad4..ab0c736d4 100644 --- a/core/odin/tokenizer/tokenizer.odin +++ b/core/odin/tokenizer/tokenizer.odin @@ -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() }