Optimiseur : un « loki tune » tué par kill -9 ne laisse plus le moteur arrêté

Le verrou périmé n'était repris qu'au démarrage du processus web. Un
« loki tune » en ligne de commande tué sans ses defers (kill -9, terminal
perdu) laissait donc le vrai moteur arrêté — et peut-être l'essai en VRAM —
jusqu'au prochain redémarrage de l'interface.

- Le processus web refait la reprise toutes les 30 s, avec la même logique
  qu'au démarrage : essai orphelin arrêté (identité complète vérifiée),
  application interrompue défaite, moteur relancé seulement s'il tournait
  avant, ni sur un preset externe ni s'il est déjà reparti.
- Coût : un stat par tic tant qu'aucun verrou n'existe ; pendant une
  optimisation vivante, la lecture du verrou et de l'identité de son
  propriétaire. Une seule goroutine, endormie sur le tic.
- Test : relance au tic qui suit la mort du propriétaire, une fois ; rien
  sans verrou, rien pendant une optimisation vivante, rien pour un moteur qui
  ne tournait pas.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-04 14:37:30 +02:00
1 parent f0fef91773
commit a325e98dad
4 files changed
+104 -10

No files matched your search

+4 -2
View File
@@ -679,8 +679,10 @@ Ajoutées par ce fork :
claire ; les tâches planifiées attendent. Un verrou dont le propriétaire est
mort (Loki tué en plein essai) est écarté avant tout démarrage du moteur :
l'essai orphelin n'est arrêté que si PID, instant de démarrage ET binaire
concordent (`taskkill /T` sous Windows), et le moteur est relancé au
démarrage de l'interface s'il tournait avant. **Refus d'entrée** : preset
concordent (`taskkill /T` sous Windows), et le moteur est relancé s'il
tournait avant — au démarrage de l'interface, puis toutes les 30 s par le
processus web (un `stat` tant qu'aucun verrou n'existe) : un `loki tune` tué
par `kill -9` ne laisse plus le moteur arrêté. **Refus d'entrée** : preset
externe, aucun preset actif, génération, tâche, bench ou job `bash_bg` en
cours, moteur occupé (`/slots`) — en ligne de commande, seul ce dernier
contrôle voit le processus web : préférer le bouton. **Essais** (descente étape par étape depuis