Ignore:
Timestamp:
Dec 5, 2019, 10:57:06 PM (4 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
baf608a
Parents:
0030ada3
Message:

move stack for preemptive pthread from TLS to static variable

File:
1 edited

Legend:

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

    r0030ada3 r09d4b22  
    1010// Created On       : Mon Jun 5 14:20:42 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Dec  1 22:22:56 2019
    13 // Update Count     : 41
     12// Last Modified On : Thu Dec  5 16:34:05 2019
     13// Update Count     : 43
    1414//
    1515
     
    6565event_kernel_t * event_kernel;                        // kernel public handle to even kernel
    6666static pthread_t alarm_thread;                        // pthread handle to alarm thread
     67static void * alarm_stack;                                                        // pthread stack for alarm thread
    6768
    6869static void ?{}(event_kernel_t & this) with( this ) {
     
    306307        signal_block( SIGALRM );
    307308
    308         kernelTLS.preemption_state.stack = create_pthread( &alarm_thread, alarm_loop, 0p );
     309        alarm_stack = create_pthread( &alarm_thread, alarm_loop, 0p );
    309310}
    310311
     
    326327
    327328        pthread_join( alarm_thread, 0p );
    328         free( kernelTLS.preemption_state.stack );
     329        free( alarm_stack );
    329330
    330331        // Preemption is now fully stopped
Note: See TracChangeset for help on using the changeset viewer.