boostorg / boostorg/thread

boost::sync_bounded_queue wait_push_back wrong code with rvalue

Open
#289 4 comments 0 reactions 0 assignees View on GitHub
bug PR welcome
Dominant language
C++
Stars
214
Forks
171
PR merge metrics
No merged PRs in 30d

Description

lvalue code correct

```javascript
template
queue_op_status sync_bounded_queue::wait_push_back(const ValueType& elem)
{
unique_lock lk(mtx_);
return wait_push_back(elem, lk);
}
```

But rvalue code wrong

```javascript
template
queue_op_status sync_bounded_queue::wait_push_back(BOOST_THREAD_RV_REF(ValueType) elem)
{
unique_lock lk(mtx_);
return try_push_back(boost::move(elem), lk);
}
```

Instead
return try_push_back(boost::move(elem), lk);
must be
return wait_push_back(boost::move(elem), lk);

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.