ensure nullable semaphore variable isn't cached by threads