- void stop(thread_t* t) {
- int i;
- t->state = TOSTHREAD_STATE_INACTIVE;
- num_runnable_threads--;
- post timerTask();
- for(i=0; i<TOSTHREAD_MAX_NUM_THREADS; i++) {
- if(call BitArrayUtils.getBit(t->joinedOnMe, i))
- call ThreadScheduler.wakeupThread(i);
- }
- signal ThreadCleanup.cleanup[t->id]();
- }
+ void stop(thread_t* t) {
+ int i;
+ t->state = TOSTHREAD_STATE_INACTIVE;
+ #ifdef TOSTHREADS_TIMER_OPTIMIZATION
+ num_runnable_threads--;
+ post timerTask();
+ #endif
+ for(i=0; i<TOSTHREAD_MAX_NUM_THREADS; i++) {
+ if(call BitArrayUtils.getBit(t->joinedOnMe, i))
+ call ThreadScheduler.wakeupThread(i);
+ }
+ signal ThreadCleanup.cleanup[t->id]();
+ }