Ignore:
File:
1 edited

Legend:

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

    r27f5f71 r1c40091  
    1010// Created On       : Tue Jan 17 12:27:26 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Nov 29 17:59:16 2019
    13 // Update Count     : 35
     12// Last Modified On : Thu Nov 21 16:46:59 2019
     13// Update Count     : 27
    1414//
    1515
     
    2626#include <signal.h>
    2727#include <unistd.h>
    28 #include <limits.h>                                                                             // PTHREAD_STACK_MIN
    2928}
    3029
     
    134133        NULL,
    135134        NULL,
    136         { NULL, 1, false, false },
    137         6u //this should be seeded better but due to a bug calling rdtsc doesn't work
     135        { 1, false, false }
    138136};
    139137
     
    234232
    235233        pthread_join( kernel_thread, NULL );
    236         free( this.stack );
    237234}
    238235
     
    263260//Main of the processor contexts
    264261void main(processorCtx_t & runner) {
    265         // Because of a bug, we couldn't initialized the seed on construction
    266         // Do it here
    267         kernelTLS.rand_seed ^= rdtscl();
    268 
    269262        processor * this = runner.proc;
    270263        verify(this);
     
    447440        __cfaabi_dbg_print_safe("Kernel : Starting core %p\n", this);
    448441
    449         pthread_attr_t attr;
    450         int ret;
    451         ret = pthread_attr_init( &attr );                                       // initialize attribute
    452         if ( ret ) {
    453                 abort( "%s : internal error, pthread_attr_init failed, error(%d) %s.", __PRETTY_FUNCTION__, ret, strerror( ret ) );
    454         } // if
    455 
    456         size_t stacksize;
    457         ret = pthread_attr_getstacksize( &attr, &stacksize ); // default stack size, normally defined by shell limit
    458         if ( ret ) {
    459                 abort( "%s : internal error, pthread_attr_getstacksize failed, error(%d) %s.", __PRETTY_FUNCTION__, ret, strerror( ret ) );
    460         } // if
    461         assert( stacksize >= PTHREAD_STACK_MIN );
    462 
    463         this->stack = malloc( stacksize );
    464         ret = pthread_attr_setstack( &attr, this->stack, stacksize );
    465         if ( ret ) {
    466                 abort( "%s : internal error, pthread_attr_setstack failed, error(%d) %s.", __PRETTY_FUNCTION__, ret, strerror( ret ) );
    467         } // if
    468 
    469         ret = pthread_create( &this->kernel_thread, &attr, CtxInvokeProcessor, (void *)this );
    470         if ( ret ) {
    471                 abort( "%s : internal error, pthread_create failed, error(%d) %s.", __PRETTY_FUNCTION__, ret, strerror( ret ) );
    472         } // if
    473 //      pthread_create( &this->kernel_thread, NULL, CtxInvokeProcessor, (void*)this );
     442        pthread_create( &this->kernel_thread, NULL, CtxInvokeProcessor, (void*)this );
    474443
    475444        __cfaabi_dbg_print_safe("Kernel : core %p started\n", this);
Note: See TracChangeset for help on using the changeset viewer.