Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel.cfa

    rc33c2af r24e321c  
    196196
    197197                        if( !readyThread ) {
    198                                 ready_schedule_lock();
    199198                                __cfa_io_flush( this );
    200                                 ready_schedule_unlock();
    201 
    202199                                readyThread = __next_thread_slow( this->cltr );
    203200                        }
     
    280277
    281278                        if(this->io.pending && !this->io.dirty) {
    282                                 ready_schedule_lock();
    283279                                __cfa_io_flush( this );
    284                                 ready_schedule_unlock();
    285280                        }
    286281
     
    322317
    323318                                // Don't block if we are done
    324                                 if( __atomic_load_n(&this->do_terminate, __ATOMIC_SEQ_CST) ) {
    325                                         ready_schedule_unlock();
    326                                         break MAIN_LOOP;
    327                                 }
     319                                if( __atomic_load_n(&this->do_terminate, __ATOMIC_SEQ_CST) ) break MAIN_LOOP;
    328320
    329321                                __STATS( __tls_stats()->ready.sleep.halts++; )
     
    947939                        /* paranoid */ verifyf( it, "Unexpected null iterator, at index %u of %u\n", i, count);
    948940                        /* paranoid */ verify( it->local_data->this_stats );
    949                         // __print_stats( it->local_data->this_stats, cltr->print_stats, "Processor", it->name, (void*)it );
    950941                        __tally_stats( cltr->stats, it->local_data->this_stats );
    951942                        it = &(*it)`next;
     
    957948                // this doesn't solve all problems but does solve many
    958949                // so it's probably good enough
    959                 disable_interrupts();
    960950                uint_fast32_t last_size = ready_mutate_lock();
    961951
     
    965955                // Unlock the RWlock
    966956                ready_mutate_unlock( last_size );
    967                 enable_interrupts();
    968957        }
    969958
Note: See TracChangeset for help on using the changeset viewer.