From b08f3dbd0bf05aaf57c50a725e586d3c2224c01f Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Sat, 29 Aug 2020 03:29:40 -0400 Subject: [PATCH] add running flag to TerminationRequestResult --- .../util/daemon/TerminationRequestResult.java | 15 ++++++++++++++- .../org/cobbzilla/util/daemon/ZillaRuntime.java | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/cobbzilla/util/daemon/TerminationRequestResult.java b/src/main/java/org/cobbzilla/util/daemon/TerminationRequestResult.java index 3de05a0..cf3ca23 100644 --- a/src/main/java/org/cobbzilla/util/daemon/TerminationRequestResult.java +++ b/src/main/java/org/cobbzilla/util/daemon/TerminationRequestResult.java @@ -1,7 +1,20 @@ package org.cobbzilla.util.daemon; +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor public enum TerminationRequestResult { - alive, dead, interrupted, terminated; + alive (true), + dead (false), + interrupted_alive (true), + interrupted_dead (false), + terminated (false); + + @Getter private final boolean running; + + @JsonCreator public static TerminationRequestResult fromString (String val) { return valueOf(val.toLowerCase()); } } diff --git a/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java b/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java index 682c29e..8393911 100644 --- a/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java +++ b/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java @@ -92,11 +92,11 @@ public class ZillaRuntime { return TerminationRequestResult.terminated; } else { if (log.isWarnEnabled()) log.warn("terminate: thread did not respond to interrupt, but onlyIf function returned false, not killing: " + thread + (verbose ? " with stack " + stacktrace(thread) + "\nfrom: " + stacktrace() : "")); - return TerminationRequestResult.interrupted; + return TerminationRequestResult.interrupted_alive; } } else { if (log.isWarnEnabled()) log.warn("terminate: thread exited after interrupt: "+thread); - return TerminationRequestResult.interrupted; + return TerminationRequestResult.interrupted_dead; } }