cs: fix log-level?
and related
Broken cache clearing caused out-of-date results to be returned sometimes.
This commit is contained in:
parent
e45d0ab9d8
commit
f615be26a3
|
@ -334,6 +334,20 @@
|
|||
(log-message logger 'error "hi")
|
||||
(test '#(error "hi" #f #f) sync m))
|
||||
|
||||
; --------------------
|
||||
;; Regression test to make sure cache clearing is not broken:
|
||||
|
||||
(let ([logger (make-logger)])
|
||||
(test #f log-level? logger 'debug 'test-a)
|
||||
(test #f log-level? logger 'debug 'test-b)
|
||||
(test #f log-level? logger 'debug 'test-c)
|
||||
(define r2 (make-log-receiver logger 'debug 'test-b))
|
||||
(test #f log-level? logger 'debug 'test-a)
|
||||
(test #t log-level? logger 'debug 'test-b)
|
||||
(test #f log-level? logger 'debug 'test-c)
|
||||
;; Retain receiver
|
||||
(test #f sync/timeout 0 r2))
|
||||
|
||||
; --------------------
|
||||
|
||||
(report-errs)
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
(define (update-logger-wanted-level! logger topic)
|
||||
(unless ((logger-local-level-timestamp logger) . >= . (unbox (logger-root-level-timestamp-box logger)))
|
||||
(define cache (logger-topic-level-cache logger))
|
||||
(for/or ([i (in-range 0 (vector-length cache) 2)])
|
||||
(for ([i (in-range 0 (vector-length cache) 2)])
|
||||
(vector-set! cache i #f))
|
||||
(set-logger-local-level-timestamp! logger (unbox (logger-root-level-timestamp-box logger))))
|
||||
;; As we traverse the parent chain, keep track of the "ceiling"
|
||||
|
|
Loading…
Reference in New Issue
Block a user