Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > SSR_impls > SSR__MC_shared_impl
changeset 68:81a0f076b12e Holistic_Model
Merged Nina's shutdown fix with schedSlot -> animSlot and other name chgs
| author | Some Random Person <seanhalle@yahoo.com> |
|---|---|
| date | Fri, 16 Mar 2012 23:47:37 -0700 |
| parents | b5b5323b4177 ce95c4d84fcd |
| children | 8882e795016d |
| files | SSR.c SSR.h SSR_Counter_Recording.c SSR_PluginFns.c |
| diffstat | 3 files changed, 8 insertions(+), 1 deletions(-) [+] |
line diff
1.1 --- a/SSR.c Fri Mar 16 23:41:31 2012 -0700 1.2 +++ b/SSR.c Fri Mar 16 23:47:37 2012 -0700 1.3 @@ -199,6 +199,7 @@ 1.4 #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS 1.5 SSR__init_counter_data_structs(); 1.6 #endif 1.7 + semanticEnv->shutdownInitiated = FALSE; 1.8 for(i=0;i<NUM_CORES;++i){ 1.9 for(j=0;j<NUM_SCHED_SLOTS;++j){ 1.10 semanticEnv->idlePr[i][j] = VMS_int__create_slaveVP(&idle_fn,NULL);
2.1 --- a/SSR.h Fri Mar 16 23:41:31 2012 -0700 2.2 +++ b/SSR.h Fri Mar 16 23:47:37 2012 -0700 2.3 @@ -127,6 +127,7 @@ 2.4 ListOfArrays* counterList[NUM_CORES]; 2.5 #endif 2.6 SlaveVP* idlePr[NUM_CORES][NUM_SCHED_SLOTS]; 2.7 + int shutdownInitiated; 2.8 } 2.9 SSRSemEnv; 2.10
3.1 --- a/SSR_PluginFns.c Fri Mar 16 23:41:31 2012 -0700 3.2 +++ b/SSR_PluginFns.c Fri Mar 16 23:47:37 2012 -0700 3.3 @@ -48,6 +48,10 @@ 3.4 //Note, using a non-blocking queue -- it returns NULL if queue empty 3.5 if(!assignPr){ 3.6 assignPr = semEnv->idlePr[coreNum][slotNum]; 3.7 + 3.8 + if(semEnv->shutdownInitiated) { 3.9 + schedPr = VMS_SS__create_shutdown_slave(); 3.10 + } 3.11 //things that would normally happen in resume(), but these VPs never go there 3.12 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 3.13 assignPr->assignCount++; //Somewhere here! 3.14 @@ -188,7 +192,8 @@ 3.15 semEnv->numSlaveVP -= 1; 3.16 if( semEnv->numSlaveVP == 0 ) 3.17 { //no more work, so shutdown 3.18 - VMS_SS__shutdown(); 3.19 + semEnv->shutdownInitiated = TRUE; 3.20 + //VMS_SS__shutdown(); 3.21 } 3.22 } 3.23
