You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/05/15 09:08:41 UTC
svn commit: r1594796 -
/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java
Author: pderop
Date: Thu May 15 07:08:41 2014
New Revision: 1594796
URL: http://svn.apache.org/r1594796
Log:
Added a TODO in the setExecutor() method, and also added some comments explaining why I introduced this new method in the API.
Modified:
felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java
Modified: felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java?rev=1594796&r1=1594795&r2=1594796&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java Thu May 15 07:08:41 2014
@@ -129,6 +129,11 @@ public class ComponentImpl implements Co
}
public Component setExecutor(Executor executor) {
+ // TODO. This method is used when the user want to provide a custom executor (for example, one from an actor
+ // library, or a queuing library like hawtdispatch "Serial Queues". However, we still have to decorate the executor
+ // with one which detects reentrant scheduling (in DM4, tasks scheduled internally from within DM4 must be executed
+ // immediately (inline execution). To ensure this, the custom executor could be decorated with one, which could use
+ // a thread local with a flag telling if the current thread is already being executed from within DM4.
m_executor = executor;
return this;
}