Dear Saros Developers I am currently digging through the code base and found this commit:
http://sourceforge.net/p/dpp/saros/ci/3a44b3156f1f3ab3cb16d94c5ead6c6bfabfced6/ There is no statement in the commit message why this change is needed. Regarding the implementation it seems that the author believed that the saving is done in the background / async. Just dumping out a stack trace currently shows that this is not true. at de.fu_berlin.inf.dpp.util.BlockingProgressMonitor.done(BlockingProgressMonitor.java:46) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2356) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) at de.fu_berlin.inf.dpp.editor.EditorManager.saveText(EditorManager.java:1471) at de.fu_berlin.inf.dpp.editor.EditorManager.execEditorActivity(EditorManager.java:770) at de.fu_berlin.inf.dpp.editor.EditorManager$1.receive(EditorManager.java:185) at de.fu_berlin.inf.dpp.activities.business.EditorActivity.dispatch(EditorActivity.java:125) at de.fu_berlin.inf.dpp.editor.EditorManager.exec(EditorManager.java:756) at de.fu_berlin.inf.dpp.project.internal.SarosSession$2.execute(SarosSession.java:222) at de.fu_berlin.inf.dpp.project.internal.ActivityHandler$3.run(ActivityHandler.java:282) at de.fu_berlin.inf.dpp.util.Utils$6.run(Utils.java:323) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) So my question again ... are there any IDocumentProvider that perform the saving in another thread or is this just a classical Cargo Cult programming artifact ? Best regards, Stefan Rossbach ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ DPP-Devel mailing list DPP-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dpp-devel