Community
Participate
Working Groups
If I terminate a launch job from the progress view that is waiting on a build, its associated dummy launch object is not removed from the debug view.
The dummy launch is cleaned up when the build finishes. The problem is that the code waits for the build to finish, then removes the launch and launches (or doesn't if it's cancelled). I'll investigate if we can find out when the launching job is cancelled.
use IJobChangeListener
Fixed in DebugUIPlugin. Please verify, DW.
Verified behavior, but question about listener cleanup: * the job listener is removed whent he job is done * the dummy launch is removed when the job is done, and when we're done joining on the build job Issue: either the launch only needs to be removed when the job is done, or the job listener also needs to be removed when done the join (else we could be leaving listeners behind).
Unless I'm missing something, there's no leak here and the "redundant" removes are by design. There are two paths that the code can take and so we need to cover both cases to get good behavior. 1. Successful launch: a. Add the listener b. Start the job c. Start the join d. The join finishes and the dummy launch is removed e. The job launches the config f. The job finishes ("done" notification) g. Listener is removed. Dummy launch is removed (noop). 2. Cancelled launch: a. Add the listener b. Start the job c. Start the join d. The job is cancelled ("done notification") e. Listener is removed. Dummy launch is removed f. The join finishes and the dummy launch is removed (noop) If we don't remove the launch in both cases, the dummy launch ends up sticking around too long in whichever path we don't cover.
Verified.