Skip to content

Build system is not guarded against parallel execution #70

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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