• [^] # Deadlock

    Posté par . En réponse au message Linux pour Amstrad CPC-6128+. Évalué à -1.


    Une interruption peut avoir lieu pendant que tu récupères l'état du port, se dérouler normalement et te rendre la main pour que tu modifies le bit qui t'intéresse et mette le port à jour. L'atomicité de l'exécution débute au moment où la ligne est mise à l'état adéquat. C'est d'ailleurs le principe de toute transaction.

    Si tu peux être interrompu entre le test et le set potentiellement tu peux l'être par une autre tàche qui fait la même chose que la première et ensuite les deux tâches se déroulent en pensant être la seule à avoir posé un lock.
    Le fait de rajouter un transistor ne change rien à l'affaire.
    Non ?