From 8be44c13fbceffe2934f765a5ef582b16ba54757 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 23 Oct 2004 12:44:36 +0000 Subject: [PATCH] . original commit: 28f7bef2ce597b9772f919b4e9628077787f81a2 --- collects/framework/private/color.ss | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/collects/framework/private/color.ss b/collects/framework/private/color.ss index 7a59ecfd..647e7eb1 100644 --- a/collects/framework/private/color.ss +++ b/collects/framework/private/color.ss @@ -256,10 +256,13 @@ (inherit is-locked?) + (define done-sema (make-semaphore)) + (define/private (colorer-driver) (unless up-to-date? + (set! done-sema (make-semaphore)) (thread-resume background-thread) - (sleep .01) ;; This is when the background thread is working. + (sync/timeout 0.01 done-sema) (semaphore-wait mutex-lock) (thread-suspend background-thread) (semaphore-post mutex-lock) @@ -300,6 +303,7 @@ current-pos)) (set! up-to-date? #t) ;(printf "~a~n" (- (current-milliseconds) timer)) + (semaphore-post done-sema) (semaphore-post mutex-lock) (thread-suspend (current-thread)))) (background-colorer))