apache / celix

Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
https://celix.apache.org/
Apache License 2.0
165 stars 86 forks source link

Hotfix/Update shell test to avoid potential deadlock #633

Closed PengZheng closed 1 year ago

PengZheng commented 1 year ago

This change resolves the potential deadlock issue (#629) when calling quit/stop commands. celix_bundleContext_trackService is utilized instead of the old celix_bundleContext_useServiceWithOptions method.

Considering killing oneself (we are destroying a framework instance using the same instance) is never an easy task, the unusual use of celix_bundleContext_stopTracker within set callback is not as weird as it appears at the first sight.

codecov-commenter commented 1 year ago

Codecov Report

Merging #633 (02a5d0a) into master (2f52be7) will decrease coverage by 0.08%. The diff coverage is n/a.

:exclamation: Current head 02a5d0a differs from pull request most recent head 4e6c5b4. Consider uploading reports for the commit 4e6c5b4 to get more accurate results

@@            Coverage Diff             @@
##           master     #633      +/-   ##
==========================================
- Coverage   81.64%   81.57%   -0.08%     
==========================================
  Files         260      260              
  Lines       34680    34680              
==========================================
- Hits        28316    28291      -25     
- Misses       6364     6389      +25     

see 4 files with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more