|Re: Threading model questions for Eclipse builder developer [message #1803818 is a reply to message #1803809]
||Mon, 11 March 2019 13:11
| Brian de Alwis
Registered: January 2012
The forums are the right place for this kind of question -- the -dev lists are for the developers working on the implementations of components, not the consumers of those components. That said, if you think you've hit a bug in a component, the -dev list is a good place to check.
The key to the builders is to use the Eclipse locking system, based around ISchedulingRule, and knowing when your code is and is not protected by a scheduling rule. If you're building a standalone builder then it's reasonably straightforward, but if you interact with other components, like M2Eclipse, then you need to respect their scheduling rules too. You should obtain these scheduling rules from an IResourceRuleFactory (such as from `IWorkspace#getRuleFactory()`). Be sure to read over and understand WorkspaceJob and WorkspaceModifyOperation.
Be sure to read the workspace modification and advanced resource docs, and "On the Job: The Eclipse Jobs API".
You might find this helper class helpful in diagnosing deadlock issues.
Eclipse Platform committer. Ask me about Eclipse support, training, and consulting.
Powered by FUDForum
. Page generated in 0.01557 seconds