Skip to content

Safe Futures Addition#1019

Merged
tcormackMW merged 19 commits intodevelopmentfrom
safeWaitConfigUpdate
Jul 30, 2024
Merged

Safe Futures Addition#1019
tcormackMW merged 19 commits intodevelopmentfrom
safeWaitConfigUpdate

Conversation

@tcormackMW
Copy link
Copy Markdown
Contributor

This allows users to wait on configuration updates (Update(), UpdateIfDifferent(), and Remove()) without risk of deadlocking the system on a thread starved environment

@tcormackMW tcormackMW requested a review from carneyweb July 9, 2024 13:30
@tcormackMW tcormackMW self-assigned this Jul 9, 2024
@tcormackMW tcormackMW requested a review from Burgch July 9, 2024 13:32
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/ConfigurationAdmin/src/ConfigurationAdminImpl.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp Outdated
Comment thread compendium/DeclarativeServices/test/gtest/TestFactoryPid.cpp
Comment thread compendium/DeclarativeServices/test/gtest/TestFactoryPid.cpp Outdated
Comment thread framework/src/util/SafeFuture.cpp Outdated
Comment thread framework/src/util/SafeFuture.cpp Outdated
Comment thread framework/src/util/SafeFuture.cpp Outdated
@codecov
Copy link
Copy Markdown

codecov bot commented Jul 9, 2024

Codecov Report

Attention: Patch coverage is 60.00000% with 28 lines in your changes missing coverage. Please review.

Please upload report for BASE (development@0f79dd6). Learn more about missing BASE report.
Report is 1 commits behind head on development.

Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff               @@
##             development    #1019   +/-   ##
==============================================
  Coverage               ?   88.30%           
==============================================
  Files                  ?      247           
  Lines                  ?    11936           
  Branches               ?        0           
==============================================
  Hits                   ?    10540           
  Misses                 ?     1396           
  Partials               ?        0           
Files Coverage Δ
.../ConfigurationAdmin/src/ConfigurationAdminImpl.cpp 90.80% <100.00%> (ø)
.../ConfigurationAdmin/src/ConfigurationAdminImpl.hpp 100.00% <ø> (ø)
...nfigurationAdmin/src/ConfigurationAdminPrivate.hpp 100.00% <ø> (ø)
...ndium/ConfigurationAdmin/src/ConfigurationImpl.hpp 75.00% <ø> (ø)
...igurationAdmin/src/ThreadpoolSafeFuturePrivate.hpp 100.00% <100.00%> (ø)
...larativeServices/src/ConfigurationListenerImpl.cpp 82.92% <ø> (ø)
...ativeServices/src/manager/ComponentManagerImpl.cpp 94.07% <100.00%> (ø)
...endium/ConfigurationAdmin/src/SingleInvokeTask.hpp 81.81% <81.81%> (ø)
framework/src/util/ThreadpoolSafeFuture.cpp 0.00% <0.00%> (ø)
...rk/include/cppmicroservices/ThreadpoolSafeFuture.h 0.00% <0.00%> (ø)
... and 2 more

Copy link
Copy Markdown
Member

@jeffdiclemente jeffdiclemente left a comment

Choose a reason for hiding this comment

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

SafeFuture needs some unit tests; based on codecov comments in the PR

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp
Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp
Comment thread compendium/ConfigurationAdmin/src/ConfigurationImpl.cpp
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.hpp Outdated
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp Outdated
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.hpp
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.hpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.hpp
Comment thread framework/include/cppmicroservices/ThreadpoolSafeFuture.h
Comment thread framework/include/cppmicroservices/ThreadpoolSafeFuture.h
Comment thread framework/include/cppmicroservices/ThreadpoolSafeFuture.h
Comment thread framework/include/cppmicroservices/ThreadpoolSafeFuture.h
tcormackMW and others added 2 commits July 19, 2024 14:42
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.hpp
Copy link
Copy Markdown
Contributor

@Burgch Burgch left a comment

Choose a reason for hiding this comment

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

Thanks Toby!

Comment thread compendium/ConfigurationAdmin/src/ConfigurationAdminImpl.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ConfigurationAdminImpl.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp Outdated
Comment thread compendium/DeclarativeServices/test/gtest/TestAsyncWorkService.cpp Outdated
Comment thread compendium/DeclarativeServices/test/gtest/TestAsyncWorkService.cpp Outdated
Comment thread framework/include/cppmicroservices/ThreadpoolSafeFuture.h Outdated
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/DeclarativeServices/test/gtest/TestAsyncWorkService.cpp
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

Comment thread compendium/ConfigurationAdmin/src/SingleInvokeTask.hpp
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp
Copy link
Copy Markdown
Contributor

@Burgch Burgch left a comment

Choose a reason for hiding this comment

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

Ah, neat - this is a nice simplification - nice work :)

Comment thread compendium/CM/include/cppmicroservices/cm/Configuration.hpp
Comment thread compendium/ConfigurationAdmin/src/ConfigurationAdminImpl.cpp Outdated
Comment thread compendium/DeclarativeServices/test/gtest/TestFactoryPid.cpp Outdated
Comment thread compendium/ConfigurationAdmin/src/ThreadpoolSafeFuturePrivate.cpp Outdated
@tcormackMW tcormackMW merged commit aebd9f8 into development Jul 30, 2024
@tcormackMW tcormackMW deleted the safeWaitConfigUpdate branch July 30, 2024 13:47
RobertLauferElektrobit pushed a commit to insi-eb/CppMicroServices-cpp14 that referenced this pull request Jul 25, 2025
Signed-off-by: Toby Cormack  <tcormack@mathworks.com>
jeffdiclemente pushed a commit that referenced this pull request Jul 25, 2025
Signed-off-by: Toby Cormack  <tcormack@mathworks.com>
Co-authored-by: tcormackMW <113473781+tcormackMW@users.noreply.github.com>
RobertLauferElektrobit added a commit to insi-eb/CppMicroServices-cpp14 that referenced this pull request Jul 28, 2025
jeffdiclemente pushed a commit that referenced this pull request Jul 29, 2025
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.

3 participants