Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] problems with canceling a c/++ search

Hi Paul,

This is interesting. I don't know if it is a regression or not though. The code base uses IProgressMonitor to handle progress and cancellation, and as you can see there are certainly some checks for cancellation (such as when getting the AST to search in ASTCache.getAST(ITranslationUnit, IIndex, boolean, IProgressMonitor)).

Can you share some stack traces of where CDT is spending its time when not responding to cancellation requests? Using jstack to get a few of those stack traces is probably the easiest way.

Thanks
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 20 Jun 2022 at 08:37, paul boglis via cdt-dev <cdt-dev@xxxxxxxxxxx> wrote:
Hello CDT community,

I have a problem with canceling a c/c++ search action.

I have a project which is having a preaty big pdom file(couple of Gs) and if I am trying to c/c++ search for a referece of a more generic function which is used in many places I am not able to cancel search action. In fact the action is finished just after all the processing is ready. So it does not metter if the cancel button is pressed or not.

After checking the code i saw that the most of the processing is done CSearchTextSelectionQuery and CSearchQuery classes . Unfortunatelly I don't see there a mechnism to stop the index processing in the middle of processing.

For other searches ( for example text searches) which are also time consumming the cancel button is working fine.

Is this a design problem or this is a regressing which I was able to find it with my unussual case?

Do you have a workaround ro prevent this issue or adding this monitor checking mechasim should be the only way to solve the problem?

Thanks,
Paul


_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev

Back to the top