From b15aea28c2a9bffb8a2bf09c31006ab35511d9b1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 10 May 2014 19:29:54 -0600 Subject: [PATCH] fix accidental disabling of thread-specific process-milliseconds --- pkgs/racket-pkgs/racket-test/tests/racket/thread.rktl | 9 +++++++++ racket/src/racket/src/thread.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/racket-pkgs/racket-test/tests/racket/thread.rktl b/pkgs/racket-pkgs/racket-test/tests/racket/thread.rktl index a3a3579d86..71d7abbaeb 100644 --- a/pkgs/racket-pkgs/racket-test/tests/racket/thread.rktl +++ b/pkgs/racket-pkgs/racket-test/tests/racket/thread.rktl @@ -1525,6 +1525,15 @@ (for ([i 1000]) (thread (make-keyword-procedure (lambda (x y) '())))) +;; -------------------- +;; Make sure that thread time accounting works: + +(let ([t (thread (λ () (let loop () (loop))))]) + (sleep 1) + (define s (current-process-milliseconds t)) + (kill-thread t) + (test #t positive? s)) + ; -------------------- (report-errs) diff --git a/racket/src/racket/src/thread.c b/racket/src/racket/src/thread.c index 38ac1d8098..6af5b83df1 100644 --- a/racket/src/racket/src/thread.c +++ b/racket/src/racket/src/thread.c @@ -2722,7 +2722,7 @@ static void do_swap_thread() { intptr_t cpm; - cpm = 0; // scheme_get_process_milliseconds(); + cpm = scheme_get_process_milliseconds(); scheme_current_thread->current_start_process_msec = cpm; } @@ -2735,7 +2735,7 @@ static void do_swap_thread() { intptr_t cpm; - cpm = 0; // scheme_get_process_milliseconds(); + cpm = scheme_get_process_milliseconds(); scheme_current_thread->accum_process_msec += (cpm - scheme_current_thread->current_start_process_msec); } @@ -3061,7 +3061,7 @@ static void start_child(Scheme_Thread * volatile child, { intptr_t cpm; - cpm = 0; // scheme_get_process_milliseconds(); + cpm = scheme_get_process_milliseconds(); scheme_current_thread->current_start_process_msec = cpm; }