SCP: Added flag indicating to device simulations that an event dispatch is active

This commit is contained in:
Mark Pizzolato 2015-12-06 05:34:27 -08:00
parent 0e8c0aeaf3
commit ad3dc29d5d
2 changed files with 4 additions and 0 deletions

3
scp.c
View file

@ -471,6 +471,7 @@ DEVICE **sim_internal_devices = NULL;
uint32 sim_internal_device_count = 0;
int32 sim_opt_out = 0;
int32 sim_is_running = 0;
t_bool sim_processing_event = FALSE;
uint32 sim_brk_summ = 0;
uint32 sim_brk_types = 0;
uint32 sim_brk_dflt = 0;
@ -8327,6 +8328,7 @@ if (sim_clock_queue == QUEUE_LIST_END) { /* queue empty? */
sim_debug (SIM_DBG_EVENT, sim_dflt_dev, "Queue Empty New Interval = %d\n", sim_interval);
return SCPE_OK;
}
sim_processing_event = TRUE;
do {
uptr = sim_clock_queue; /* get first */
sim_clock_queue = uptr->next; /* remove first */
@ -8357,6 +8359,7 @@ else
if ((reason == SCPE_OK) && stop_cpu)
reason = SCPE_STOP;
sim_processing_event = FALSE;
return reason;
}

1
scp.h
View file

@ -245,6 +245,7 @@ extern int32 sim_deb_switches; /* debug display flags *
extern struct timespec sim_deb_basetime; /* debug base time for relative time output */
extern UNIT *sim_clock_queue;
extern int32 sim_is_running;
extern t_bool sim_processing_event; /* Called from sim_process_event */
extern char *sim_prompt; /* prompt string */
extern const char *sim_savename; /* Simulator Name used in Save/Restore files */
extern t_value *sim_eval;