diff --git a/VAX/vax_cpu.c b/VAX/vax_cpu.c index 827276d2..99e12845 100644 --- a/VAX/vax_cpu.c +++ b/VAX/vax_cpu.c @@ -2582,10 +2582,12 @@ for ( ;; ) { else if (cpu_unit.flags & UNIT_CONH) /* halt to console? */ cc = con_halt (CON_HLTINS, cc); /* enter firmware */ else { - /* allow potentially pending console output to */ - /* be displayed before dropping back to scp */ - if (sim_interval <= SERIAL_OUT_WAIT) { - sim_interval -= SERIAL_OUT_WAIT; + /* allow potentially pending I/O (console output, + or other devices) to complete before dropping + back to scp */ + while ((sim_clock_queue != QUEUE_LIST_END) && + ((sim_clock_queue->flags & UNIT_IDLE) == 0)) { + sim_interval = 0; temp = sim_process_event (); if (temp) ABORT (temp);