Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build system is not guarded against parallel execution #70

Open
ventZl opened this issue Feb 26, 2025 · 0 comments
Open

Build system is not guarded against parallel execution #70

ventZl opened this issue Feb 26, 2025 · 0 comments

Comments

@ventZl
Copy link
Owner

ventZl commented Feb 26, 2025

Part of the build system duties is to generate includes for the main linker script. This is a two-phase process:

First, the linker script is updated to contain include directives for includes which are generated to be empty.

Then, includes are appended with section for each process as they are discovered.

If CMake is executed twice in parallel (possible with some IDEs, which automatically launch CMake upon CMakeLists.txt editation) and user starts build, which also runs CMake as part of automatic build system regeneration, then it may happen, that these two instances align so that both recreate empty includes before any of them starts appending process sections into these files.

This is an extremely rare condition and basically a user error, so even mere detection of this situation and displaying error message is enough.

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

No branches or pull requests

1 participant