Am I cool or not ?
From
Bonita Montero@3:633/10 to
All on Mon Oct 20 15:45:35 2025
void threaded_timer::timer::executor() noexcept
{
unsigned ref = m_nProcessing.load( memory_order_relaxed );
do
if( ref && !m_overlapped || ref == -1 )
return;
while( !m_nProcessing.compare_exchange_strong( ref, ref + 1, memory_order_acquire, memory_order_relaxed ) );
m_fn();
ref = m_nProcessing.load( memory_order_relaxed );
do
if( ref == -1 )
return;
while( !m_nProcessing.compare_exchange_strong( ref, ref - 1, memory_order_release, memory_order_relaxed ) );
if( ref == 1 )
m_nProcessing.notify_one();
}
--- PyGate Linux v1.5
* Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)