User: xtoff
Date: 2009/12/18 03:42 PM
Modified:
/InversionOfControl/trunk/src/Castle.MicroKernel/Context/
CreationContext.cs
/InversionOfControl/trunk/src/Castle.MicroKernel/Handlers/
AbstractHandler.cs
/InversionOfControl/trunk/src/Castle.MicroKernel/Lifestyle/Pool/
DefaultPool.cs
/InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/
AbstractSubSystem.cs
/InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/
DefaultConversionManager.cs
Log:
- some more minor changes to raise level of Sliverlight compatibility
File Changes:
Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/Context/
====================================================================
File [modified]: CreationContext.cs
Delta lines: +4 -0
===================================================================
--- InversionOfControl/trunk/src/Castle.MicroKernel/Handlers/AbstractHandler.cs
2009-12-18 22:33:55 UTC (rev 6462)
+++ InversionOfControl/trunk/src/Castle.MicroKernel/Handlers/AbstractHandler.cs
2009-12-18 22:42:45 UTC (rev 6463)
@@ -32,7 +32,11 @@
[Serializable]
#endif
[DebuggerDisplay("Model: {ComponentModel.Service} /
{ComponentModel.Implementation} ")]
+#if (!SILVERLIGHT)
public abstract class AbstractHandler : MarshalByRefObject, IHandler,
IExposeDependencyInfo, IDisposable
+#else
+ public abstract class AbstractHandler : IHandler,
IExposeDependencyInfo, IDisposable
+#endif
{
private readonly ComponentModel model;
Directory:
/InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/
==================================================================================
File [modified]: DefaultConversionManager.cs
Delta lines: +0 -0
===================================================================
Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/Handlers/
=====================================================================
File [modified]: AbstractHandler.cs
Delta lines: +3 -4
===================================================================
---
InversionOfControl/trunk/src/Castle.MicroKernel/Lifestyle/Pool/DefaultPool.cs
2009-12-18 22:33:55 UTC (rev 6462)
+++
InversionOfControl/trunk/src/Castle.MicroKernel/Lifestyle/Pool/DefaultPool.cs
2009-12-18 22:42:45 UTC (rev 6463)
@@ -18,7 +18,6 @@
using System;
using System.Collections.Generic;
using System.Threading;
- using System.Collections;
using Castle.Core;
@@ -27,7 +26,7 @@
#endif
public class DefaultPool : IPool, IDisposable
{
- private readonly Stack available = Stack.Synchronized(new
Stack());
+ private readonly Stack<object> available = new Stack<object>();
private readonly List<object> inUse = new List<object>();
private readonly int initialsize;
private readonly int maxsize;
@@ -131,8 +130,8 @@
public virtual void Dispose()
{
- // Release all components
-
+ // Release all components
+ // NOTE: don't we need a lock here?
foreach(object instance in available)
{
Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/Lifestyle/Pool/
===========================================================================
File [modified]: DefaultPool.cs
Delta lines: +4 -1
===================================================================
---
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/AbstractSubSystem.cs
2009-12-18 22:33:55 UTC (rev 6462)
+++
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/AbstractSubSystem.cs
2009-12-18 22:42:45 UTC (rev 6463)
@@ -15,8 +15,11 @@
namespace Castle.MicroKernel
{
using System;
-
+#if (!SILVERLIGHT)
public abstract class AbstractSubSystem : MarshalByRefObject, ISubSystem
+#else
+ public abstract class AbstractSubSystem : ISubSystem
+#endif
{
private IKernel kernel;
Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/
=======================================================================
File [modified]: AbstractSubSystem.cs
Delta lines: +16 -0
===================================================================
---
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/DefaultConversionManager.cs
2009-12-18 22:33:55 UTC (rev 6462)
+++
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/DefaultConversionManager.cs
2009-12-18 22:42:45 UTC (rev 6463)
@@ -29,7 +29,12 @@
#endif
public class DefaultConversionManager : AbstractSubSystem,
IConversionManager, ITypeConverterContext
{
+#if (!SILVERLIGHT)
private static readonly LocalDataStoreSlot slot =
Thread.AllocateDataSlot();
+#else
+ [ThreadStatic]
+ private static readonly Stack<ComponentModel> slot;
+#endif
private readonly IList<ITypeConverter> converters = new
List<ITypeConverter>();
private readonly IList<ITypeConverter> standAloneConverters = new
List<ITypeConverter>();
@@ -181,6 +186,8 @@
{
get
{
+
+#if (!SILVERLIGHT)
var stack =
(Stack<ComponentModel>)Thread.GetData(slot);
if (stack == null)
@@ -190,6 +197,15 @@
}
return stack;
+#else
+ if(slot == null)
+ {
+ slot = new Stack<ComponentModel>();
+ }
+
+ return slot;
+
+#endif
}
}
--
You received this message because you are subscribed to the Google Groups
"Castle Project Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-commits?hl=en.