[banshee] [ServiceManager] Catch exceptions thrown during delayed initialization
- From: Bertrand Lorentz <blorentz src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] [ServiceManager] Catch exceptions thrown during delayed initialization
- Date: Sun, 9 Aug 2009 17:42:14 +0000 (UTC)
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]