Si un semáforo de lectura-escritura utiliza el modo de suspensión ininterrumpida, ¿cómo se despiertan? (Linux)

Usamos

abajo (struct semáforo *);

para adquirir el semáforo dado y entrar en suspensión ininterrumpida si se disputa.

El semáforo se adquiere si el recuento se vuelve cero después del decremento; si el recuento se vuelve negativo, la tarea actual se pone en modo de suspensión ininterrumpida en la cola de espera del semáforo. La tarea solo se activa cuando el propietario del semáforo la libera llamando a la función `up`.

arriba (struct semáforo *);