summaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java
diff options
context:
space:
mode:
Diffstat (limited to 'jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java')
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java
index 2a478fb7add..33d03d29f7d 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java
@@ -76,6 +76,14 @@ public class BootstrapDaemon implements Daemon {
thread.start();
try {
task.run();
+ } catch (Exception e) {
+ log.log(Level.WARNING, "Exception caught during BootstrapDaemon." + name, e);
+ throw e;
+ } catch (Error e) {
+ log.log(Level.WARNING, "Error caught during BootstrapDaemon." + name, e);
+ throw e;
+ } catch (Throwable thrown) {
+ log.log(Level.WARNING, "Throwable caught during BootstrapDaemon." + name, thrown);
} finally {
complete.countDown();
thread.join();
@@ -115,12 +123,15 @@ public class BootstrapDaemon implements Daemon {
@Override
public void stop() throws Exception {
- loader.stop();
+ startWithWatchDog("stop", 60, TimeUnit.SECONDS, () -> loader.stop());
}
@Override
public void destroy() {
- loader.destroy();
+ try {
+ startWithWatchDog("destroy", 60, TimeUnit.SECONDS, () -> loader.destroy());
+ } catch (Exception e) {
+ }
}
}