# HG changeset patch # User Merten Sach # Date 1331643140 -3600 # Node ID b8b167b91a5e2fce0f6b7c7c057ab54826b0939f # Parent 39224d5ae31bfacd0479be1760d5c8894e0273f6# Parent fb75c4b52d32a1c87a60ed382e2420fc11cfcb70 Merged bugfix from Master diff -r 39224d5ae31b -r b8b167b91a5e CoreLoop.c --- a/CoreLoop.c Fri Feb 17 18:47:55 2012 +0100 +++ b/CoreLoop.c Tue Mar 13 13:52:20 2012 +0100 @@ -243,6 +243,7 @@ { VirtProcr *currVP; VMSQueueStruc *readyToAnimateQ; + int32 numMasterInARow = 0; ThdParams *coreLoopThdParams; int thisCoresIdx; @@ -262,14 +263,14 @@ readyToAnimateQ = _VMSMasterEnv->readyToAnimateQs[thisCoresIdx]; currVP = (VirtProcr *) readVMSQ( readyToAnimateQ ); if( currVP == NULL ) - { if( _VMSMasterEnv->numMasterInARow[thisCoresIdx] > 1000 ) + { if( numMasterInARow > 1000 ) { printf("too many back to back MasterVP\n"); exit(1); } - _VMSMasterEnv->numMasterInARow[thisCoresIdx] += 1; + numMasterInARow += 1; currVP = _VMSMasterEnv->masterVPs[thisCoresIdx]; } else - _VMSMasterEnv->numMasterInARow[thisCoresIdx] = 0; + numMasterInARow = 0; switchToVP( currVP ); diff -r 39224d5ae31b -r b8b167b91a5e MasterLoop.c --- a/MasterLoop.c Fri Feb 17 18:47:55 2012 +0100 +++ b/MasterLoop.c Tue Mar 13 13:52:20 2012 +0100 @@ -340,7 +340,7 @@ //====== Start Gate-protection ======= vicGate->gateClosed = TRUE; - coreMightBeInProtected= vicGate->preGateProgress != vicGate->exitProgress; + coreMightBeInProtected= (vicGate->preGateProgress != vicGate->exitProgress); while( coreMightBeInProtected ) { //wait until sure if( vicGate->preGateProgress == vicGate->waitProgress )