SCP: Avoid "Unexpected internal error" for expected conditions

This commit is contained in:
Mark Pizzolato 2018-07-27 08:39:23 -07:00
parent 52e8c7f6f8
commit 9cc726790e

15
scp.c
View file

@ -10565,7 +10565,7 @@ return buf;
t_stat sim_process_event (void) t_stat sim_process_event (void)
{ {
UNIT *uptr; UNIT *uptr;
t_stat reason; t_stat reason, bare_reason;
if (stop_cpu) { /* stop CPU? */ if (stop_cpu) { /* stop CPU? */
stop_cpu = 0; stop_cpu = 0;
@ -10604,12 +10604,13 @@ do {
reason = SCPE_OK; reason = SCPE_OK;
} }
AIO_EVENT_COMPLETE(uptr, reason); AIO_EVENT_COMPLETE(uptr, reason);
if ((reason != SCPE_OK) && /* Provide context for unexpected errors */ bare_reason = SCPE_BARE_STATUS (reason);
(reason != SCPE_STOP) && if ((bare_reason != SCPE_OK) && /* Provide context for unexpected errors */
(reason != SCPE_STEP) && (bare_reason != SCPE_STOP) &&
(reason != SCPE_EXPECT) && (bare_reason != SCPE_STEP) &&
(reason != SCPE_EXIT) && (bare_reason != SCPE_EXPECT) &&
(reason != SCPE_REMOTE)) (bare_reason != SCPE_EXIT) &&
(bare_reason != SCPE_REMOTE))
reason = sim_messagef (SCPE_IERR, "\nUnexpected internal error while processing event for %s which returned %d - %s\n", sim_uname (uptr), reason, sim_error_text (reason)); reason = sim_messagef (SCPE_IERR, "\nUnexpected internal error while processing event for %s which returned %d - %s\n", sim_uname (uptr), reason, sim_error_text (reason));
} while ((reason == SCPE_OK) && } while ((reason == SCPE_OK) &&
(sim_interval <= 0) && (sim_interval <= 0) &&