Repository navigation
LibreOffice-Prozesse begrenzen und eigene Nachfahren bereinigen - #8
Merged
Merged
Conversation
|
Welcome, and thanks for your first pull request in this repository. A maintainer will review it soon. Please make sure:
Thanks for contributing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ein LibreOffice-Nachfahre konnte die geerbten stdout/stderr-Pipes offen halten. Eine native Windows-Reproduktion kehrte trotz Timeout von 0,2 Sekunden erst nach 2,375 Sekunden zurück. Der direkte
subprocess.run-Aufruf bot außerdem keine Bereinigung weiterlebender Konverter-Nachfahren vor Profilbereinigung und Veröffentlichung.LibreOffice läuft jetzt unter Windows im vorhandenen atomar zugeordneten Prozessjob. Linux/macOS verwenden einen eigenen Session-/Gruppenleiter, der das Konverterergebnis atomar meldet und bis zur Bereinigung lebt. Die Gruppe erhält SIGKILL vor dem ersten Reap des Leaders; dessen ungeerntete Identität verhindert einen PGID-Wechsel auf einen fremden Prozess. Session-/Gruppeneigentum und Parent-PID werden vor Kindstart geprüft; ein nicht standardmäßiger SIGCHLD-Handler führt vor Start zum Abbruch. Parentdeath wird vom Helfer erkannt. Ausgaben laufen ohne vererbbare PIPEs; vorhandenem Windows-soffice.com wird Vorrang gegeben. Frisches Profil, private Ausgabe, strenge PDF-Prüfung und Bereinigung vor Veröffentlichung bleiben erhalten.
Lokal: 250 Tests plus vier Untertests bestanden, fünf POSIX-Proben unter Windows übersprungen, beobachteter Exit 0; 37 Node-Tests, Desktop-Smoke/Ruff/Syntax/Diff erfolgreich. Neue native Prozessproben prüfen Timeout, frühes erfolgreiches und fehlerhaftes Konverterende, tatsächliche Nachfahren-Lebensdauer sowie Erhalt eines unabhängigen Referenzprozesses. Zusätzliche POSIX-Proben prüfen Helpercrash, Parentdeath, Sessioneigentum, SIGCHLD und Signal-vor-Reap. Word-Regressionssuite unverändert grün. Finaler Head 86b6db7: alle 13 CI-Jobs (36825658135) und drei Source-Smokes (36825658137) erfolgreich. Die elf Prozessproben bestehen auf Linux und macOS; echter Linux-LibreOffice-Smoke bestätigt PDF-Text, unveränderte Quellbytes, Unicode-Pfade und Ausgabeschutz. Unabhängig: 250 Tests/5 POSIX-Skips/Exit 0 sowie 37 Node-Tests und zusätzlicher nativer Windows-Nachfahrenhandle-/Dateisperrnachweis bei Erfolg und Timeout erfolgreich.
180 Sekunden gelten je Versuch, Bereinigung hat ein zusätzliches Fünf-Sekunden-Budget. Abgesetzte POSIX-Prozesse liegen außerhalb der eigenen Gruppe; keine allgemeine Behauptung, sämtliche Enkelprozesse seien beendet und geerntet. Kein Versions-Bump, EXE-/MSIX-Build oder Store-Update; echte Windows/macOS-LibreOffice-Abnahme bleibt separat.