clayborg added a comment.

Another thing to clarify: The current design of the Progress objects, when 
destructed, will report progress with the stored "m_total" value to indicate 
that the progress is complete. Even if exceptions are thrown, the destructor 
will still be called. So all current uses of the "Progress" objects, will 
currently report a progress with:

  ProgressCallback(message = "Indexing DWARF for /tmp/a.out", completed = 0, 
total = UINT64_MAX, baton = <baton>);

Then when the Progress object is destroyed, we will report:

  ProgressCallback(message = "Indexing DWARF for /tmp/a.out", completed = 
UINT64_MAX, total = UINT64_MAX, baton = <baton>);

The idea is when the code that installs the progress callback gets its callback 
called, and if the "completed == total" then the UI can remove the progress 
indicator for "<message>". The message string is a const string and will be 
unique and the same pointer value for the message will always be used, so the 
progress is keyed off of the message pointer value.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97739/new/

https://reviews.llvm.org/D97739

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to