From ab8123e9b64f560c0b94deb1f5818945d912a11c Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sun, 10 Jan 2016 15:53:01 -0800 Subject: [PATCH] TIMER: Force at minimum of 1 instruction delay for non-zero delays in sim_activate_after(). --- sim_timer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sim_timer.c b/sim_timer.c index 6905fa4d..a02d1320 100644 --- a/sim_timer.c +++ b/sim_timer.c @@ -1486,6 +1486,8 @@ inst_delay_d = ((inst_per_sec*usec_delay)/1000000.0); if (inst_delay_d > (double)0x7fffffff) inst_delay_d = (double)0x7fffffff; inst_delay = (int32)inst_delay_d; +if ((inst_delay == 0) && (usec_delay != 0)) + inst_delay = 1; /* Minimum non-zero delay is 1 instruction */ #if defined(SIM_ASYNCH_IO) && defined(SIM_ASYNCH_CLOCKS) if ((sim_calb_tmr == -1) || /* if No timer initialized */ (inst_delay < rtc_currd[sim_calb_tmr]) || /* or sooner than next clock tick? */