Scott Lewis wrote:
What do you have in mind WRT run-time checking?

To manage concurrency we use single threaded executors with one additional method: isInExecutorThread(). This is similar in concept the Realms, except it assumes that the realm is implemented using a thread. Certain APIs in DSF are required to be called in the thread of a given executor while other are thread safe, etc. To deal with the confusion that this creates we use annotations to declare how a certain interface or method can be called:

@ConfinedToDsfExecutor(executor), @ThreadSafe, @ThreadSafeAndProhibitedFromDsfExecutor(executor)

I would like to use these annotations at run time to enforce each method's thread access policy. This would help us catch some deadlocks long before they happen. Unfortunately I haven't had a time to take this past the idea stage, but I imagine that using something like AspectJ should make this quite feasible.
Cheers,
Pawel
Thanks,

Scott

_______________________________________________
eclipse-incubator-e4-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev

_______________________________________________
eclipse-incubator-e4-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev

Reply via email to