mirror of
https://github.com/boostorg/thread.git
synced 2026-07-23 13:53:42 +00:00
Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 748fdee203 | |||
| db6de8fd42 | |||
| 32229388f5 | |||
| 333365aefe | |||
| 5363e099e4 | |||
| f79d51f099 | |||
| 336259c36a | |||
| 3391bf87c6 | |||
| bc6b31e1f7 | |||
| 84720b7664 | |||
| 7879a4c286 | |||
| 11f18980ca | |||
| 12e2c8aaca | |||
| 046d716bbf | |||
| 5b9c1fad85 | |||
| 58c6b384cc | |||
| 7c1570328e | |||
| 97895e410f | |||
| 2494f3fc7a | |||
| 159868ac77 | |||
| f65e89a85a | |||
| bb47c16939 | |||
| 02fd2d041b | |||
| 2661c06698 | |||
| 83f877a238 | |||
| 47f615d073 | |||
| 7079a80edf | |||
| dbf28a4ac4 | |||
| 2866734b15 |
@@ -211,7 +211,7 @@ namespace boost
|
||||
{}
|
||||
#endif
|
||||
|
||||
void remove_waiter()
|
||||
void remove_waiter_and_reset()
|
||||
{
|
||||
if (entry) {
|
||||
boost::lock_guard<boost::mutex> internal_lock(internal_mutex);
|
||||
@@ -221,7 +221,7 @@ namespace boost
|
||||
}
|
||||
~entry_manager() BOOST_NOEXCEPT_IF(false)
|
||||
{
|
||||
remove_waiter();
|
||||
remove_waiter_and_reset();
|
||||
}
|
||||
|
||||
list_entry* operator->()
|
||||
@@ -250,7 +250,7 @@ namespace boost
|
||||
woken=entry->woken();
|
||||
}
|
||||
// do it here to avoid throwing on the destructor
|
||||
entry->remove_waiter();
|
||||
entry.remove_waiter_and_reset();
|
||||
locker.lock();
|
||||
return woken;
|
||||
}
|
||||
|
||||
@@ -459,7 +459,7 @@ namespace boost
|
||||
|
||||
void BOOST_THREAD_DECL sleep_until(const timespec& ts)
|
||||
{
|
||||
timespec now = boost::detail::timespec_now();
|
||||
timespec now = boost::detail::timespec_now_realtime();
|
||||
if (boost::detail::timespec_gt(ts, now))
|
||||
{
|
||||
for (int foo=0; foo < 5; ++foo)
|
||||
@@ -479,7 +479,7 @@ namespace boost
|
||||
condition_variable cond;
|
||||
cond.do_wait_until(lock, ts);
|
||||
# endif
|
||||
timespec now2 = boost::detail::timespec_now();
|
||||
timespec now2 = boost::detail::timespec_now_realtime();
|
||||
if (boost::detail::timespec_ge(now2, ts))
|
||||
{
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user