• 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)