Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[19435] Apply thread settings #3874

Merged
merged 38 commits into from
Oct 23, 2023

Conversation

MiguelCompany
Copy link
Member

@MiguelCompany MiguelCompany commented Sep 21, 2023

Description

This PR adds utility methods to create a std::thread with a custom name and thread settings.

Implementations of the method for all supported platforms are provided.

It also refactors the places where a thread is created to use the new proxy method, using the thread settings from the corresponding QoS.

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
  • Any new/modified methods have been properly documented using Doxygen.
  • Changes are ABI compatible.
  • Changes are API compatible.
  • N/A New feature has been added to the versions.md file (if applicable).
  • N/A New feature has been documented/Current behavior is correctly described in the documentation.
  • N/A Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@MiguelCompany MiguelCompany added the no-test Skip CI tests if PR marked with this label label Sep 21, 2023
@MiguelCompany MiguelCompany changed the title Apply thread settings on posix platforms [19436] Apply thread settings on posix platforms Sep 21, 2023
@EduPonz EduPonz force-pushed the feature/thread-config/qos branch from 86af233 to f82f4fa Compare September 21, 2023 10:26
@MiguelCompany MiguelCompany force-pushed the feature/thread-config/wrapper branch 5 times, most recently from 8b7a9df to aca1846 Compare September 26, 2023 06:24
@MiguelCompany MiguelCompany added this to the v2.13.0 milestone Sep 26, 2023
@MiguelCompany MiguelCompany force-pushed the feature/thread-config/wrapper branch from aca1846 to ce02d36 Compare September 26, 2023 06:53
@MiguelCompany MiguelCompany changed the title [19436] Apply thread settings on posix platforms [19436] Apply thread settings on posix and MacOs platforms Sep 26, 2023
@MiguelCompany MiguelCompany marked this pull request as ready for review September 26, 2023 07:02
Base automatically changed from feature/thread-config/qos to feature/thread-config/main September 27, 2023 05:16
@MiguelCompany MiguelCompany changed the title [19436] Apply thread settings on posix and MacOs platforms [19436] Apply thread settings Oct 5, 2023
@MiguelCompany MiguelCompany force-pushed the feature/thread-config/wrapper branch from 28b55bd to 6375d6e Compare October 5, 2023 11:18
@MiguelCompany
Copy link
Member Author

@richiprosima Please test this

@MiguelCompany MiguelCompany force-pushed the feature/thread-config/wrapper branch from 6375d6e to bc99bdb Compare October 6, 2023 07:35
Copy link

@EduPonz EduPonz left a comment

Choose a reason for hiding this comment

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

Very much a partial review

src/cpp/utils/threading.hpp Outdated Show resolved Hide resolved
src/cpp/utils/threading.hpp Outdated Show resolved Hide resolved
@MiguelCompany MiguelCompany force-pushed the feature/thread-config/main branch from 1ab80b7 to 4a7aa27 Compare October 11, 2023 06:06
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
…current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@MiguelCompany MiguelCompany force-pushed the feature/thread-config/wrapper branch from 9449396 to 41c3702 Compare October 11, 2023 06:09
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
…inParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@MiguelCompany MiguelCompany force-pushed the feature/thread-config/wrapper branch from 9ab26e5 to 06ef85d Compare October 11, 2023 13:45
Copy link

@EduPonz EduPonz left a comment

Choose a reason for hiding this comment

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

Some remarks. Also we're still missing stack size. I guess we can do that in a follow up

src/cpp/utils/threading/threading_pthread.ipp Outdated Show resolved Hide resolved
src/cpp/utils/threading/threading_pthread.ipp Show resolved Hide resolved
test/unittest/logging/LogTests.cpp Show resolved Hide resolved
test/unittest/logging/LogTests.cpp Outdated Show resolved Hide resolved
src/cpp/utils/threading/threading_osx.ipp Show resolved Hide resolved
include/fastdds/rtps/attributes/ThreadSettings.hpp Outdated Show resolved Hide resolved
src/cpp/utils/threading/threading_win32.ipp Show resolved Hide resolved
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@MiguelCompany MiguelCompany changed the title [19436] Apply thread settings [19435] Apply thread settings Oct 16, 2023
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@EduPonz EduPonz merged this pull request into feature/thread-config/main Oct 23, 2023
6 checks passed
@EduPonz EduPonz deleted the feature/thread-config/wrapper branch October 23, 2023 10:19
EduPonz added a commit that referenced this pull request Oct 23, 2023
* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
MiguelCompany added a commit that referenced this pull request Oct 30, 2023
* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
MiguelCompany added a commit that referenced this pull request Nov 13, 2023
* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
EduPonz added a commit that referenced this pull request Nov 20, 2023
* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
EduPonz added a commit that referenced this pull request Nov 21, 2023
* Setting infraestructure for naming threads (#3821)

* Refs #19375. Added internal header for threading utilities.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added empty implementation for set_name_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on shm watchdog thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name for filewatch threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on ResourceEvent threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on udp reception thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on shm reception thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on data-sharing reception thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name for TCP threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on FlowController thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name for SHM dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added initialization callback to LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. SecurityManager refactor to receive plugin factory by dependency injection.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Allow easy overload of creation of builtin plugins.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. RTPSParticipantImpl configures the logging thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Uncrustify.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Platform implementations for set_name_to_current_thread (#3823)

* Refs #17492. Added pthread implementation for set_name_to_current_thread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Added implementation for Windows.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Added implementation for Mac.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Added doxygen to threading.hpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Using pthread implementation for Android.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Fix build error on snprintf.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Add ThreadSettings to Qos (#3848)

* Refs #19377: Add ThreadSettings struct

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to Log API

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DomainParticipantFactoryQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DomainParticipantQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to TransportConfigQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to TransportDescriptorInterface

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to SharedMemTransportDescriptor

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to FlowControllerDescriptor

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DataReaderQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DomainParticipantQos for builtin flow controllers

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in DomainParticipant

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in DataReader

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in ParticipantTests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in QosConverters

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in Transport descriptors

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in DataReaderTests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in RTPSParticipantAttibutes

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in PortBasedTransportDescriptor

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Add builtin_controllers_sender_thread to UpdatableDomainParticipantQos

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Refactor PortBasedTransportDescriptor accessors

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Add TCP related thread settings

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Add data_sharing_listener_thread to ReaderAttributes

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Fix windows warning

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>
Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Apply thread settings (#3874)

* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Add XML support for ThreadSettings (#3922)

* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: EduPonz <eduardoponz@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Miguel Company <MiguelCompany@eprosima.com>

* Fix doxygen (#3987)

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Parse missing TCPTransportDescriptor XML elements (#4001)

* Refs #19378: Set DomainParticipantFactoryQos when loading profiles

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Parse missing TCPTransportDescriptor XML elements

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Custom eprosima::thread class that allows setting the stack size (#4000)

* Refs #19797. Initial refactor. eprosima::thread inherits from std::thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Update code in ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Using eprosima::thread instead of std::thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Include `<thread>` where `std::this_thread` is used.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Copy basic eprosima::thread implementation into ipp files.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Select ipp file depending on platform.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Copy windows implementation on `thread_impl_win32.ipp`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Added `is_calling_thread method`.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Using `is_calling_thread` instead of comparing ids.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Using stack size argument.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Update test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Implementation for pthread based platforms.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Use pthread based implementation on Mac.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Change windows implementation approach.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Factor out common code.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Linter

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Use local `swap` method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Pass 0 value to `pthread_attr_setstacksize`.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Linter

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Improve include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Add missing includes

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19797. Fix thread settings on dds unit test xml profiles.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: EduPonz <eduardoponz@eprosima.com>
Co-authored-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19907: Add feature to versions.md

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>
Signed-off-by: EduPonz <eduardoponz@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
adriancampo pushed a commit that referenced this pull request Nov 27, 2023
* Setting infraestructure for naming threads (#3821)

* Refs #19375. Added internal header for threading utilities.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added empty implementation for set_name_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on shm watchdog thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name for filewatch threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on ResourceEvent threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on udp reception thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on shm reception thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on data-sharing reception thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name for TCP threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name on FlowController thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added name for SHM dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Added initialization callback to LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. SecurityManager refactor to receive plugin factory by dependency injection.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Allow easy overload of creation of builtin plugins.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. RTPSParticipantImpl configures the logging thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19375. Uncrustify.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Platform implementations for set_name_to_current_thread (#3823)

* Refs #17492. Added pthread implementation for set_name_to_current_thread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Added implementation for Windows.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Added implementation for Mac.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Added doxygen to threading.hpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Using pthread implementation for Android.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #17492. Fix build error on snprintf.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Add ThreadSettings to Qos (#3848)

* Refs #19377: Add ThreadSettings struct

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to Log API

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DomainParticipantFactoryQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DomainParticipantQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to TransportConfigQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to TransportDescriptorInterface

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to SharedMemTransportDescriptor

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to FlowControllerDescriptor

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DataReaderQos

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Add ThreadSetting to DomainParticipantQos for builtin flow controllers

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in DomainParticipant

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in DataReader

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in ParticipantTests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in QosConverters

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in Transport descriptors

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in DataReaderTests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in RTPSParticipantAttibutes

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Address Miguel's comments in PortBasedTransportDescriptor

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Add builtin_controllers_sender_thread to UpdatableDomainParticipantQos

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Refactor PortBasedTransportDescriptor accessors

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Add TCP related thread settings

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Add data_sharing_listener_thread to ReaderAttributes

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19377: Fix windows warning

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>
Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Apply thread settings (#3874)

* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Add XML support for ThreadSettings (#3922)

* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: EduPonz <eduardoponz@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Co-authored-by: Miguel Company <MiguelCompany@eprosima.com>

* Fix doxygen (#3987)

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Parse missing TCPTransportDescriptor XML elements (#4001)

* Refs #19378: Set DomainParticipantFactoryQos when loading profiles

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19378: Parse missing TCPTransportDescriptor XML elements

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Custom eprosima::thread class that allows setting the stack size (#4000)

* Refs #19797. Initial refactor. eprosima::thread inherits from std::thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Update code in ResourceEvent.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Using eprosima::thread instead of std::thread.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Include `<thread>` where `std::this_thread` is used.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Copy basic eprosima::thread implementation into ipp files.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Select ipp file depending on platform.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Copy windows implementation on `thread_impl_win32.ipp`

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Added `is_calling_thread method`.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Using `is_calling_thread` instead of comparing ids.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Using stack size argument.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Update test.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Implementation for pthread based platforms.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Use pthread based implementation on Mac.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Change windows implementation approach.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Factor out common code.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Linter

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Use local `swap` method.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Pass 0 value to `pthread_attr_setstacksize`.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Linter

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Improve include what you use.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #19797. Add missing includes

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19797. Fix thread settings on dds unit test xml profiles.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: EduPonz <eduardoponz@eprosima.com>
Co-authored-by: EduPonz <eduardoponz@eprosima.com>

* Refs #19907: Add feature to versions.md

Signed-off-by: EduPonz <eduardoponz@eprosima.com>

---------

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Eduardo Ponz <eduardoponz@eprosima.com>
Signed-off-by: EduPonz <eduardoponz@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-test Skip CI tests if PR marked with this label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants