Skip to content

Commit

Permalink
Fix data race in TypeObjectFactory::get_instance (#5238)
Browse files Browse the repository at this point in the history
* Refs #21664. Regression test.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Improve synchronization in regression test.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Return created instance to visualize data-race and make test fail.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Just count the number of different instances.
This way we have a single final expectation.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Avoid using g_instance inside the instance.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Inject factory in all methods called inside `register_builtin_annotations_types`.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Use atomic enumeration to control the instance state.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21664. Uncrustify.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21672. Notify condition from main thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21672. FIx EOL at end of file.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21672. Refactor to create builtin objects inside factory constructor.

Signed-off-by: Miguel Company <[email protected]>

* Refs #21672. Uncrustify.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
(cherry picked from commit 8f4b4a5)

# Conflicts:
#	src/cpp/dynamic-types/TypeObjectFactory.cpp
  • Loading branch information
MiguelCompany authored and mergify[bot] committed Sep 17, 2024
1 parent f5bca04 commit 6f38e67
Show file tree
Hide file tree
Showing 5 changed files with 1,282 additions and 871 deletions.
Loading

0 comments on commit 6f38e67

Please sign in to comment.