Hay otros problemas aparte del valor que pueda tener la variable. Podría pasar que muchos procesos entren a la región crítica a la vez por ejemplo. Fijate por ejemplo en el código de la diapositiva 13 de semáforos que podría pasar si la función TestAndReset no fuera atómica.