]> jfr.im git - irc/rizon/acid.git/commitdiff
Try to cleanup more when plugins/scripts fail to load
authorAdam <redacted>
Sat, 7 Mar 2015 20:18:50 +0000 (15:18 -0500)
committerAdam <redacted>
Sat, 7 Mar 2015 20:18:50 +0000 (15:18 -0500)
acid/src/main/java/net/rizon/acid/core/Plugin.java
pyva/pyva/src/main/java/net/rizon/acid/plugins/pyva/pyva/pyva.java

index 805302bd45505ee94cc58edfc02ed852ac41f828..cf7c45d38a918f1cce6f394c5095a3345dcc4c8c 100644 (file)
@@ -64,7 +64,15 @@ public abstract class Plugin
                p = (Plugin) con.newInstance();
                p.name = name;
                p.loader = cl;
-               p.start();
+               try
+               {
+                       p.start();
+               }
+               catch (Exception ex)
+               {
+                       plugins.remove(p);
+                       throw ex;
+               }
                return p;
        }
 
index 32b9d601fef609bd1a473f199bd11653d29c7971..7af46b226ad120301b24f445b7ce4686afa68439 100644 (file)
@@ -141,11 +141,19 @@ public class pyva extends Plugin
 
                pyva.init();
 
+               try
+               {
+                       for (String plugin : conf.plugins)
+                               loadPyvaPlugin(plugin);
+               }
+               catch (Exception ex)
+               {
+                       pyva.stop();
+                       throw ex;
+               }
+               
                e = new PyvaEvent();
 
-               for (String plugin : conf.plugins)
-                       loadPyvaPlugin(plugin);
-
                t = new GCTimer();
                t.start();
        }