From 9951efc8919d6f9f5684b247de2a5585bf694bea Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 3 May 2019 15:00:33 -0600 Subject: [PATCH] cs: fix `unsafe-thread-at-root` to use the root custodian Otherwise, a finalization thread can get shut down, resulting in a leak. --- racket/src/thread/thread.rkt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/racket/src/thread/thread.rkt b/racket/src/thread/thread.rkt index 2512a72a36..24996afb1e 100644 --- a/racket/src/thread/thread.rkt +++ b/racket/src/thread/thread.rkt @@ -13,6 +13,7 @@ "atomic.rkt" "schedule-info.rkt" "custodian.rkt" + "custodian-object.rkt" "exit.rkt") (provide (rename-out [make-thread thread]) @@ -215,7 +216,9 @@ t)) (define (unsafe-thread-at-root proc) - (do-make-thread 'unsafe-thread-at-root proc #:at-root? #t)) + (do-make-thread 'unsafe-thread-at-root proc + #:at-root? #t + #:custodian root-custodian)) ;; ---------------------------------------- ;; Thread status