Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Upcoming release dates (was CDT8.4 + 8.5 - all debug buttons become disabled)

I don't think its a good idea. Dsf command has to guarantee that it will finish request in all paths (exception or not), so if this is implemented properly second request.done()
will throw exception that it has been done already which would propagate up.
It should be fixed in CDT to do request.done() in all paths (its true for most of dsf code which is really unsafe in this regard, leaving hanging monitors which can cause deadlocks

On Fri, Dec 5, 2014 at 12:16 PM, Derek Morris <dmsubs@xxxxxxxxxxxxx> wrote:
Having read these recent message, I can provide my own DsfTerminateHandler - my product provides a GDBAdapterFactory which creates the ITerminateHandler. So, I have added this class and am using it instead:

public class MyDsfTerminateCommand extends DsfTerminateCommand {

public MyDsfTerminateCommand(DsfSession session) {
super(session);
}

public void canExecute(final IEnabledStateRequest request) {
try {
super.canExecute(request);
} catch (Exception e) {
request.setEnabled(false);
request.done();
}
}
}

Is this what you were thinking? I can build this into the product and send it to customers who are experiencing the problem to see if it helps

Thanks!

On 5 Dec 2014, at 17:10, Mikhail Khodjaiants <mikhailkhod@xxxxxxxxxxxxxx> wrote:

On 05/12/2014 11:39 AM, Marc Khouzam wrote:
Should we write a bug about that to platform?  Doesn't it imply that, as we saw now, 
any plugin that has a problem could affect the rest of the IDE?
To be fair, Liviu's plugin didn't have a bug but triggered a platform one, but some
other plugin could just have a bug.

I was thinking about it. IMO, catching an exception in the platform code that evaluates command's enamblement is done too high in the stack to continue evaluating other commands.

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev


_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top