[banshee] [ServiceManager] Catch exceptions thrown during delayed initialization



commit cfe40d4ba666ffb0753ec88e2f581188c354fac9
Author: Bertrand Lorentz <bertrand lorentz gmail com>
Date:   Sun Aug 9 19:27:54 2009 +0200

    [ServiceManager] Catch exceptions thrown during delayed initialization
    
    This brings the behavior for delayed services in line with what is done
    for regular services, and un-breaks the performance test-suite.

 .../Banshee.ServiceStack/ServiceManager.cs         |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs b/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
index 752798b..c5ccd62 100644
--- a/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
+++ b/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
@@ -261,9 +261,15 @@ namespace Banshee.ServiceStack
         
         private static void DelayedInitialize (IService service)
         {
-            if (have_client && service is IDelayedInitializeService) {
-                Log.DebugFormat ("Delayed Initializating {0}", service);
-                ((IDelayedInitializeService)service).DelayedInitialize ();
+            try {
+                if (have_client && service is IDelayedInitializeService) {
+                    Log.DebugFormat ("Delayed Initializating {0}", service);
+                    ((IDelayedInitializeService)service).DelayedInitialize ();
+                }
+            } catch (Exception e) {
+                Log.Exception (e.InnerException ?? e);
+                Log.Warning (String.Format ("Service `{0}' not initialized: {1}", 
+                    service.GetType ().FullName, e.Message));
             }
         }
         



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]