Skip to content

Build system is not guarded against parallel execution #70

@ventZl

Description

@ventZl

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions