Skip to content

Fix race condition when building multiple IDL files#40130

Merged
OneBlue merged 5 commits intofeature/wsl-for-appsfrom
user/oneblue/idl-race
Apr 8, 2026
Merged

Fix race condition when building multiple IDL files#40130
OneBlue merged 5 commits intofeature/wsl-for-appsfrom
user/oneblue/idl-race

Conversation

@OneBlue
Copy link
Copy Markdown
Collaborator

@OneBlue OneBlue commented Apr 7, 2026

Summary of the Pull Request

This change solves a build failure that happens because multiple processes write do dlldata*.c as the same time. This change solves the issue by making sure that they don't run at the same time

PR Checklist

  • Closes: Link to issue #xxx
  • Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
  • Tests: Added/updated if needed and all pass
  • Localization: All end user facing strings can be localized
  • Dev docs: Added/updated if needed
  • Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

Copilot AI review requested due to automatic review settings April 7, 2026 20:30
@OneBlue OneBlue requested a review from a team as a code owner April 7, 2026 20:30
Copy link
Copy Markdown

@yao-msft yao-msft left a comment

Choose a reason for hiding this comment

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

Recently every time I rebuild I hit this

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR attempts to address a parallel-build race involving MIDL-generated dlldata*.c by adding ordering constraints between successive IDL compilation steps in the CMake IDL helper module.

Changes:

  • Add a dependency chain (DEPENDS ... ${PREVIOUS_OUTPUT}) between MIDL custom commands to force sequential execution.
  • Track the prior MIDL outputs via a new PREVIOUS_OUTPUT variable.

@OneBlue
Copy link
Copy Markdown
Collaborator Author

OneBlue commented Apr 7, 2026

Recently every time I rebuild I hit this

Same !

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Copilot AI review requested due to automatic review settings April 7, 2026 23:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.

@OneBlue OneBlue merged commit fcd4259 into feature/wsl-for-apps Apr 8, 2026
11 checks passed
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.

4 participants