13
0

Use SIGUSR1 to softstop #28

Zusammengeführt
Lixfel hat 1 Commits von sigusr1 nach master 2024-01-17 16:40:52 +01:00 zusammengeführt

Datei anzeigen

@ -136,10 +136,15 @@ public class Subserver {
}
public void stop() {
if(checkpoint)
process.children().forEach(ProcessHandle::destroy);
else
execute("stop");
try {
long pid = process.pid();
if(checkpoint)
pid = process.children().findAny().map(ProcessHandle::pid).orElse(pid);
YoyoNow markierte diese Unterhaltung als gelöst
Review

Ich glaube hier macht es mehr Sinn:

process.children().map(ProcessHandle::pid).findAny().orElse(pid);

Bzw warum genau machst du ein findAny? Würde nicht auch ein findFirst hier reichen?

Ich glaube hier macht es mehr Sinn: ``` process.children().map(ProcessHandle::pid).findAny().orElse(pid); ``` Bzw warum genau machst du ein findAny? Würde nicht auch ein findFirst hier reichen?
Review

Ist findAny hier nicht das gleiche wie findFirst? Es wird sowieso nur 1 Kind geben (und das eigentlich immer).

Ist findAny hier nicht das gleiche wie findFirst? Es wird sowieso nur 1 Kind geben (und das eigentlich immer).
Review

Achso, ja dann ist es egal. Und das hängt davon ab ob der Stream ein parallel Stream ist oder nicht. Lass es dann einfach so.

Achso, ja dann ist es egal. Und das hängt davon ab ob der Stream ein parallel Stream ist oder nicht. Lass es dann einfach so.
Runtime.getRuntime().exec(new String[]{"kill", "-SIGUSR1", Long.toString(pid)});
} catch (IOException e) {
ProxyServer.getInstance().getLogger().log(Level.SEVERE, "Failed to send SIGUSR1 to subserver.", e);
}
try {
if(!process.waitFor(1, TimeUnit.MINUTES))