Skip to content

I20231004-0750

@HeikoKlare HeikoKlare tagged this 30 Sep 12:07
The JobManager uses the ImplicitJobs implementation to spawn internal
jobs for the execution on a specific ISchedulingRule within an executed
job. This implementation creates instances of ThreadJob. These instances
are reused, such that the same ThreadJob instance is reused for
different rules and potentially different jobs. This is achieved by a
recycle functionality, which caches a ThreadJob for reuse once it is not
used anymore. This functionality results in the same job occurring with
different rules at different places and points in time. This is both
unexpected and error prone.

Since this reuse functionality only seems to be a performance
improvement whose value does nowadays not outweigh the added complexity
and risk of error, this change removes the recycling functionality.

Fixes https://github.com/eclipse-platform/eclipse.platform/issues/724.
Assets 2
Loading