Skip to content

WIP: Async File read process and dispatch...#2783

Open
jzulauf-lunarg wants to merge 3 commits intoLunarG:devfrom
jzulauf-lunarg:zulauf-async-file-processing
Open

WIP: Async File read process and dispatch...#2783
jzulauf-lunarg wants to merge 3 commits intoLunarG:devfrom
jzulauf-lunarg:zulauf-async-file-processing

Conversation

@jzulauf-lunarg
Copy link
Copy Markdown
Contributor

@jzulauf-lunarg jzulauf-lunarg commented Mar 13, 2026

WIP:

Async framework applied to synchronous preload. Async next.

@jzulauf-lunarg jzulauf-lunarg requested a review from a team as a code owner March 13, 2026 23:26
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eca1e11506

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

{
GFXRECON_ASSERT(process_frame_number_ == kFirstFrame);
// async_processing_
async_thread_ = std::thread([this]() { this->ProcessBlocksAsync(); });
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Join or detach async thread before shutdown

Starting async mode creates a joinable std::thread (StartAsyncProcessing) but there is no corresponding join()/detach() path before FileProcessor destruction, so running replay with --async-processing will hit std::thread's destructor while still joinable and call std::terminate. This causes a hard crash at teardown even if the worker function already returned, so the async thread lifecycle needs an explicit shutdown/join path.

Useful? React with 👍 / 👎.

@jzulauf-lunarg jzulauf-lunarg force-pushed the zulauf-async-file-processing branch from eca1e11 to 5420964 Compare March 18, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant