On dirait que le problème c'est que le C est assez pauvre pour gérer la programmation concurente et ce genre d'effets de bord ...
Au minimum il faudrait indiquer que la variable en question est partagée entre plusieurs processus / thread donc qu'elle est susceptible d'effet de bords (je doute pas que des flags / attributs existent pour ça) pour que le compilateur soit au courant, voir ajouter la sémantique dans le langage pour qu'il soit capable de s'en dépatouiller tout seul.
Ici par exemple on a visiblement ce qu'on appelle une section critique, ça devrait être intégré dans le langage et pas deux bêtes appels à la libc sur le lock/delock dés qu'on dépasse le niveau le plus bas ...
[^] # Sémantique
Posté par thoasm . En réponse au journal Merci aux développeurs de la GNU libc !. Évalué à 10.
On dirait que le problème c'est que le C est assez pauvre pour gérer la programmation concurente et ce genre d'effets de bord ...
Au minimum il faudrait indiquer que la variable en question est partagée entre plusieurs processus / thread donc qu'elle est susceptible d'effet de bords (je doute pas que des flags / attributs existent pour ça) pour que le compilateur soit au courant, voir ajouter la sémantique dans le langage pour qu'il soit capable de s'en dépatouiller tout seul.
Ici par exemple on a visiblement ce qu'on appelle une section critique, ça devrait être intégré dans le langage et pas deux bêtes appels à la libc sur le lock/delock dés qu'on dépasse le niveau le plus bas ...