On general principles we require that the solution give priority to writers without making any assumptions about priority being built into the V routine. In other words, where several processes are waiting at a semaphore, we cannot predict which one will be allowed to proceed as the result of a V operation.