Skip to content

fix liveness / performance bug in PooledThreadExecutor #3040

New issue

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

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

Already on GitHub? # to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

jmklix
Copy link
Member

@jmklix jmklix commented Jul 15, 2024

Issue #, if available: #2744
rebase of: #2745

Description of changes: Ensures that ThreadTask holds the PooledThreadExecutor's mutex between when it sees that the m_executor does not have any tasks, and when it waits on the condition variable.

Since AWS Semaphore does not take a mutex as parameter, replaces use of Semaphore with std::condition_variable here.

Check all that applies:

  • Did a review by yourself.
  • Added proper tests to cover this PR. (If tests are not applicable, explain.)
  • Checked if this PR is a breaking (APIs have been changed) change.
  • Checked if this PR will not introduce cross-platform inconsistent behavior.
  • Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

  • Linux
  • Windows
  • Android
  • MacOS
  • IOS
  • Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jmklix jmklix linked an issue Jul 15, 2024 that may be closed by this pull request
@jmklix jmklix changed the title rebase for Issue 2744 fix liveness / performance bug in PooledThreadExecutor Jul 15, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Liveness / performance bug in PooledThreadExecutor
2 participants