diff --git a/src/frontend/terminaloverlay.cc b/src/frontend/terminaloverlay.cc index 06cce3b..5c321f5 100644 --- a/src/frontend/terminaloverlay.cc +++ b/src/frontend/terminaloverlay.cc @@ -285,8 +285,10 @@ int OverlayManager::wait_time( void ) next_expiry = 1000; } - if ( predictions.active() && ( next_expiry > 20 ) ) { - next_expiry = 20; + if ( predictions.timing_tests_necessary() + && predictions.active() + && ( next_expiry > 50 ) ) { + next_expiry = 50; } return next_expiry; diff --git a/src/frontend/terminaloverlay.h b/src/frontend/terminaloverlay.h index 99a1429..67ccd04 100644 --- a/src/frontend/terminaloverlay.h +++ b/src/frontend/terminaloverlay.h @@ -214,6 +214,11 @@ namespace Overlay { bool active( void ) const; + bool timing_tests_necessary( void ) const { + /* Are there any timing-based triggers that haven't fired yet? */ + return !( glitch_trigger && flagging ); + } + void set_local_frame_sent( uint64_t x ) { local_frame_sent = x; } void set_local_frame_acked( uint64_t x ) { local_frame_acked = x; } void set_local_frame_late_acked( uint64_t x ) { local_frame_late_acked = x; }