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

Fix subscription busy wait melodic #2014

Merged
merged 2 commits into from
Jul 31, 2020

Conversation

dirk-thomas
Copy link
Member

Duplicate of cwecht#1.

@meyerj FYI.

Replace duplicate wait_for() call in CallbackQueue::callOne() with a loop and a call to wait_until().
…ely if timeout.isZero()

... and if none of the other result conditions holds (i.e. the queue is Empty or Disabled).
@dirk-thomas dirk-thomas merged commit c6778d0 into melodic-devel Jul 31, 2020
@dirk-thomas dirk-thomas deleted the fix_subscription_busy_wait-melodic branch July 31, 2020 20:49
meyerj added a commit to meyerj/ros_comm that referenced this pull request Oct 7, 2024
* roscpp: simplify implementation of CallbackQueue::callOne()

Replace duplicate wait_for() call in CallbackQueue::callOne() with a loop and a call to wait_until().

* roscpp: return TryAgain from CallbackQueue::callOne(timeout) immediately if timeout.isZero()

... and if none of the other result conditions holds (i.e. the queue is Empty or Disabled).

Co-authored-by: Johannes Meyer <johannes@intermodalics.eu>
meyerj added a commit to meyerj/ros_comm that referenced this pull request Oct 7, 2024
* roscpp: simplify implementation of CallbackQueue::callOne()

Replace duplicate wait_for() call in CallbackQueue::callOne() with a loop and a call to wait_until().

* roscpp: return TryAgain from CallbackQueue::callOne(timeout) immediately if timeout.isZero()

... and if none of the other result conditions holds (i.e. the queue is Empty or Disabled).

Co-authored-by: Johannes Meyer <johannes@intermodalics.eu>
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.

2 participants