- Verschickt
- 24. September 2026 um 08:48 UTC
- Autor
- Kamo
- Commit
- c657eb1
Ein Mitglied, das ihren Computer öffnete, bekam einen schwarzen Tab. Der Start war in Ordnung, die Weide war in Ordnung, der Lebenslauf war in Ordnung - und dann die Maschine schalten sich aus, bevor der Browser konnte sich mit ihm verbinden. Aus der Cluster, heute um 08:38 Uhr: VirtualMachineInstance hat begonnen. (08:35:33) computer hc-...-7dcfc3f4194a wurde im Leerlauf 2564s (Limit 30m) Bitten Sie ihn zu schlafen (08:38:13) Stoppte die virtuelle Maschine durch Löschen der virtuellen Maschinen Instanz [Konsole] Neustart: Power down Ein Computer, der 160 Sekunden lang aufgestanden war, berichtete von 42 Minuten Leerlauf. Guacamole authentifiziert das Mitglied und dann nie einen Tunnel geöffnet, denn bis dahin gab es nichts zu hören auf 3389 guacd protokolliert nicht einen Verbindungsversuch den ganzen Morgen. xprintidle antwortet, "wie lange diese X-Session wurde zuletzt berührt", und THE X SERVER KEEPS COUNTING ACROSS A SUSPEND-TO-DISK. Es stellt mit dem Eingangszeitstempel wieder her, so dass jede Stunde die Maschine Ausgaben ausgeschaltet wird als eine Stunde des Müßiggangs zurückgegeben. Beide Verbraucher taten dann genau das, was sie sind gebaut, um mit dieser Zahl zu tun: der Agenten-eigene Beobachter überwunden am Limit, und Recuteservice Leerlauf Sweep fordert es dazu. Die Nachwehe des Mitglieds wurde jedes Mal innerhalb eines Sweeps rückgängig gemacht. Dies ist nicht der Lebenslauf-Bug in a607fea behoben, es ist die Hälfte, die man verpasst. Dass Commit Neustarts "last_active", wenn die Wanduhr eine Lücke anzeigt und poll() dann drei Zeilen später überschrieben hat der Gegenspieler, der falsch ist, so dass der Reset nie eine einzige Umfrage überlebt hat. Ein Computer kann nicht länger im Leerlauf gewesen sein, als er wach war. Diese Invariante ist die Lösung, und es hält, was X glaubt: "_awake_ since" wird bei jedem erkannten Lebenslauf von Anfang und Wieder eingestellt und jede Antwort, die diese Klasse gibt, ist daran geklammert. Die Lebenslauf-Erkennung bewegt sich auch aus tick() in note_resume(), aufgerufen von idle_seconds() sowie. computeservice fragt nach Status auf seinem eigenen Zeitplan, und was gelesen landet zuerst nach einem Lebenslauf ist derjenige, dessen Antwort entscheidet, ob die Maschine wieder eingeschläfert wird; wenn der Reset lebte nur in tick(), ein Statusanruf, der zuerst ankommt, berichtete zuerst über den Vorschlafen und der Sweep darauf. Vier bestehende Tests setzen last_active in die Vergangenheit, ohne zu sagen, wie lange die Maschine oben war, die die Invariante nun als Fiktion entlarvt - ein Computer, der eine Stunde lang im Leerstand ist, ist für einen wach gewesen. Sie sagen beides jetzt. Drei neue Tests decken den Lebenslauf ab, die Klemme wird nicht zu einer zweiten Leerlauf-Politik, und ein Status-Anruf, der vor dem ersten Tick ankommt.
