Changeset 11769 for release/1.3


Ignore:
Timestamp:
Feb 24, 2009, 2:48:21 AM (10 years ago)
Author:
rme
Message:

Merge part of r11742 from trunk (left out the cooperative threads
stuff.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/1.3/source/lisp-kernel/thread_manager.c

    r11714 r11769  
    575575#endif
    576576  TCR *tcr = get_interrupt_tcr(false);
    577 
     577 
     578  if (tcr == NULL) {
     579    /* Got a suspend signal sent to the pthread. */
     580    extern natural initial_stack_size;
     581    void register_thread_tcr(TCR *);
     582   
     583    tcr = new_tcr(initial_stack_size, MIN_TSTACK_SIZE);
     584    tcr->suspend_count = 1;
     585    tcr->vs_area->active -= node_size;
     586    *(--tcr->save_vsp) = lisp_nil;
     587    register_thread_tcr(tcr);
     588  }
    578589  if (TCR_INTERRUPT_LEVEL(tcr) <= (-2<<fixnumshift)) {
    579590    SET_TCR_FLAG(tcr,TCR_FLAG_BIT_PENDING_SUSPEND);
     
    18381849      callback_ptr = ((macptr *)ptr_from_lispobj(untag(callback_macptr)))->address;
    18391850    int i, nbindwords = 0;
    1840     extern unsigned initial_stack_size;
     1851    extern natural initial_stack_size;
    18411852   
    18421853    /* Make one. */
Note: See TracChangeset for help on using the changeset viewer.