queue_signal: prevent circular lists in pending_interrupt

Leads to infinite loops in handle_all_queued.
This commit is contained in:
Marius Gerbershagen 2020-06-01 17:26:14 +02:00
parent ed11e2cc35
commit a8042286ff

View file

@ -446,6 +446,7 @@ queue_signal(cl_env_ptr env, cl_object code, int allocate)
}
if (record != ECL_NIL) {
ECL_RPLACA(record, code);
ECL_RPLACD(record, ECL_NIL);
env->interrupt_struct->pending_interrupt =
ecl_nconc(env->interrupt_struct->pending_interrupt,
record);