mirror of
https://github.com/boostorg/thread.git
synced 2026-02-05 10:12:09 +00:00
Compare commits
2 Commits
develop
...
fixes/1.65
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
748fdee203 | ||
|
|
db6de8fd42 |
@@ -211,7 +211,7 @@ namespace boost
|
|||||||
{}
|
{}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void remove_waiter()
|
void remove_waiter_and_reset()
|
||||||
{
|
{
|
||||||
if (entry) {
|
if (entry) {
|
||||||
boost::lock_guard<boost::mutex> internal_lock(internal_mutex);
|
boost::lock_guard<boost::mutex> internal_lock(internal_mutex);
|
||||||
@@ -221,7 +221,7 @@ namespace boost
|
|||||||
}
|
}
|
||||||
~entry_manager() BOOST_NOEXCEPT_IF(false)
|
~entry_manager() BOOST_NOEXCEPT_IF(false)
|
||||||
{
|
{
|
||||||
remove_waiter();
|
remove_waiter_and_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
list_entry* operator->()
|
list_entry* operator->()
|
||||||
@@ -250,7 +250,7 @@ namespace boost
|
|||||||
woken=entry->woken();
|
woken=entry->woken();
|
||||||
}
|
}
|
||||||
// do it here to avoid throwing on the destructor
|
// do it here to avoid throwing on the destructor
|
||||||
entry->remove_waiter();
|
entry.remove_waiter_and_reset();
|
||||||
locker.lock();
|
locker.lock();
|
||||||
return woken;
|
return woken;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user