From e26be5dc389546e2d4ea692ef3c082bdfa848cf2 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 27 Oct 2006 20:29:27 +0000 Subject: [PATCH] [SIGAR-22] Prevent RuntimeException in FileTail impl from killing the FileWatcherThread --- ChangeLog | 5 +++++ bindings/java/src/org/hyperic/sigar/FileTail.java | 2 +- bindings/java/src/org/hyperic/sigar/FileWatcherThread.java | 6 +++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b5b98ab..5ef6218e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-10-27 Doug MacEachern + + * [SIGAR-22] Prevent RuntimeException in FileTail impl from + killing the FileWatcherThread + 2006-10-24 Doug MacEachern * [SIGAR-20] Fix windows sigar_net_inteface_list to handle > 100 diff --git a/bindings/java/src/org/hyperic/sigar/FileTail.java b/bindings/java/src/org/hyperic/sigar/FileTail.java index 78b81f3f..b3e30356 100644 --- a/bindings/java/src/org/hyperic/sigar/FileTail.java +++ b/bindings/java/src/org/hyperic/sigar/FileTail.java @@ -44,7 +44,7 @@ public abstract class FileTail extends FileWatcher { this.useSudo = useSudo; } - private void error(String name, Throwable exc) { + static void error(String name, Throwable exc) { String msg = name + ": " + exc.getMessage(); SigarLog.getLogger(FileTail.class.getName()).error(msg, exc); } diff --git a/bindings/java/src/org/hyperic/sigar/FileWatcherThread.java b/bindings/java/src/org/hyperic/sigar/FileWatcherThread.java index f4f8d182..f83abfe7 100644 --- a/bindings/java/src/org/hyperic/sigar/FileWatcherThread.java +++ b/bindings/java/src/org/hyperic/sigar/FileWatcherThread.java @@ -97,7 +97,11 @@ public class FileWatcherThread implements Runnable { it.hasNext();) { FileWatcher watcher = (FileWatcher)it.next(); - watcher.check(); + try { + watcher.check(); + } catch (Exception e) { + FileTail.error("Unexception exception", e); + } } } }