diff --git a/scheme/rts/thread.scm b/scheme/rts/thread.scm index 9b5a47f..dd77f38 100644 --- a/scheme/rts/thread.scm +++ b/scheme/rts/thread.scm @@ -549,6 +549,7 @@ ; scheduler. (define (spawn thunk . id) + (set-thread-own-values?! (current-thread) #f) (apply spawn-on-scheduler (thread-scheduler (current-thread)) thunk @@ -557,11 +558,13 @@ (define (spawn-on-root thunk . id) (if (root-scheduler) - (apply spawn-on-scheduler - (root-scheduler) - thunk - (thread-cell-values (current-thread)) - id) + (begin + (set-thread-own-values?! (current-thread) #f) + (apply spawn-on-scheduler + (root-scheduler) + thunk + (thread-cell-values (current-thread)) + id)) (thunk))) (define (spawn-on-scheduler scheduler thunk cell-values . id)