Should `trylock` be expected to be not 0 in normal circumstances?