~ chicken-core (chicken-5) a3c7a5a4baa82c6b55875854d7483aad601c64fc
commit a3c7a5a4baa82c6b55875854d7483aad601c64fc Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sun May 4 14:26:41 2014 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sun May 4 14:28:17 2014 +0200 Comments. diff --git a/runtime.c b/runtime.c index f68cd092..ef2f1994 100644 --- a/runtime.c +++ b/runtime.c @@ -3712,7 +3712,7 @@ void handle_interrupt(void *trampoline, void *proc) c = C_cpu_milliseconds() - interrupt_time; last_interrupt_latency = c; - C_timer_interrupt_counter = C_initial_timer_interrupt_period; /* just in case */ + C_timer_interrupt_counter = C_initial_timer_interrupt_period; /* <- no continuation is passed: "##sys#interrupt-hook" may not return! */ C_do_apply(2, x, C_SCHEME_UNDEFINED); } diff --git a/scheduler.scm b/scheduler.scm index 26ca01fe..0bf9a849 100644 --- a/scheduler.scm +++ b/scheduler.scm @@ -154,6 +154,7 @@ EOF (set! ##sys#current-thread thread) (##sys#setslot thread 3 'running) (##sys#restore-thread-state-buffer thread) + ;;XXX WRONG! this sets the t/i-period ("quantum") for the _next_ thread (##core#inline "C_set_initial_timer_interrupt_period" (##sys#slot thread 9)) ((##sys#slot thread 1)) ) (let* ([ct ##sys#current-thread]Trap