Use std::uncaught_exceptions()
Also remove wrong attributes
This commit is contained in:
+4
-4
@@ -619,7 +619,7 @@ public:
|
||||
{
|
||||
func((_new = old));
|
||||
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new))) [[likely]]
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new)))
|
||||
{
|
||||
return old;
|
||||
}
|
||||
@@ -636,7 +636,7 @@ public:
|
||||
{
|
||||
func((_new = old));
|
||||
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new))) [[likely]]
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new)))
|
||||
{
|
||||
return _new;
|
||||
}
|
||||
@@ -655,7 +655,7 @@ public:
|
||||
{
|
||||
func((_new = old), args...);
|
||||
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new))) [[likely]]
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -664,7 +664,7 @@ public:
|
||||
{
|
||||
RT result = func((_new = old), args...);
|
||||
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new))) [[likely]]
|
||||
if (LIKELY(atomic_storage<type>::compare_exchange(m_data, old, _new)))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1837,7 +1837,7 @@ void thread_ctrl::join()
|
||||
m_jcv.wait(lock);
|
||||
}
|
||||
|
||||
if (UNLIKELY(m_exception && !std::uncaught_exception()))
|
||||
if (UNLIKELY(m_exception && !std::uncaught_exceptions()))
|
||||
{
|
||||
std::rethrow_exception(m_exception);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user