Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Loskutov2016-05-30 17:16:08 +0000
committerDani Megert2016-09-23 13:58:17 +0000
commit938ab5d592348f65249ed9cc454013850d035d32 (patch)
tree2ed483ef5cd015baa5f12d3414a59db2a0319ec6 /org.eclipse.ui.editors/pom.xml
parentd0224e9edbcfc9358268121c5fba4b3aca59f4a1 (diff)
downloadeclipse.platform.text-938ab5d592348f65249ed9cc454013850d035d32.tar.gz
eclipse.platform.text-938ab5d592348f65249ed9cc454013850d035d32.tar.xz
eclipse.platform.text-938ab5d592348f65249ed9cc454013850d035d32.zip
Bug 482354 - SVN checkout deadlocks Eclipse
FileDocumentProvider.refreshFile(IFile) is called from UI thread but in worst case (if the IFile is out-of-sync with file system state) it acquires workspace lock for refreshing the resource state. If at same time any workspace job holding a lock on a parent project will try to use IOConsoleOutputStream.write(String) to report lot of data (> 160000 characters) to the console, the IOConsolePartitioner.streamAppended() call will block forever waiting for queue processed by the (locked) UI thread. Proposed solution: FileDocumentProvider.refreshFile(IFile) should run DocumentProviderOperation in providers runnable context to avoid such deadlocks. In the case the resource tree is locked, a "User Operation is Waiting" progress dialog will be shown, giving the user a chance to resolve the deadlock situation by canceling one of the affected tasks. To be consistent with existing API and to allow clients override the supplied refresh rule, new API is introduced in FileDocumentProvider: protected ISchedulingRule.getRefreshRule(Object element). Default implementation in FileDocumentProvider uses ResourceRuleFactory.refreshRule for given file. Change-Id: Id742d98403cc546fad4a21d25eb18ab7bef48776 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
Diffstat (limited to 'org.eclipse.ui.editors/pom.xml')
-rw-r--r--org.eclipse.ui.editors/pom.xml2
1 files changed, 1 insertions, 1 deletions
diff --git a/org.eclipse.ui.editors/pom.xml b/org.eclipse.ui.editors/pom.xml
index 5aa682e00ff..4ff140da338 100644
--- a/org.eclipse.ui.editors/pom.xml
+++ b/org.eclipse.ui.editors/pom.xml
@@ -18,6 +18,6 @@
</parent>
<groupId>org.eclipse.ui</groupId>
<artifactId>org.eclipse.ui.editors</artifactId>
- <version>3.10.100-SNAPSHOT</version>
+ <version>3.11.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>

Back to the top