Community
Participate
Working Groups
Since the org.eclipse.core.internal.jobs.LockManager can only keep one single lock listener, different sessions in RAP overwrite each other's listeners. As a result, only the one Workbench instance that has been started latest, will receive aboutToWait() and aboutToRelease() notifications from the JobManager. See Workbench#runUI, line 2545.
This also keeps the Display instance from being GCed until the locklistener is overwritten by a new one. Is using "allowDeadLock" a feasible workaround for this? The name of that parameter sure is scary...
(In reply to Wolfgang Pedot from comment #1) > This also keeps the Display instance from being GCed until the locklistener > is overwritten by a new one. > > Is using "allowDeadLock" a feasible workaround for this? The name of that > parameter sure is scary... Could you provide a fix through Gerrit [1]? [1] https://eclipse.org/rap/source/ [2] https://wiki.eclipse.org/RAP/Git
Maybe I was not perfectly clear: "allowDeadLock" is a commandline-parameter for the framework so there is no code-change. If it is set the code-block that calls setLockListener is skipped (Workbench.runUI) but I dont know enough internals to decide if its a good idea to set that parameter.