A $finish in a final block should end processing of all final blocks

This commit is contained in:
Cary R 2013-05-14 16:54:10 -07:00
parent 71c6193ff1
commit 7d26515bc4
1 changed files with 3 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2001-2011 Stephen Williams (steve@icarus.com) * Copyright (c) 2001-2013 Stephen Williams (steve@icarus.com)
* *
* This source code is free software; you can redistribute it * This source code is free software; you can redistribute it
* and/or modify it in source code form under the terms of the GNU * and/or modify it in source code form under the terms of the GNU
@ -1126,7 +1126,8 @@ void schedule_simulate(void)
} }
// Execute final events. // Execute final events.
while (schedule_final_list) { schedule_runnable = true;
while (schedule_runnable && schedule_final_list) {
struct event_s*cur = schedule_final_list->next; struct event_s*cur = schedule_final_list->next;
if (cur->next == cur) { if (cur->next == cur) {
schedule_final_list = 0; schedule_final_list = 0;