Keep the log queue on a maximum depth.

This commit is contained in:
2026-06-29 00:39:48 +02:00
parent 712fda3af8
commit 5d6dbee06f
+11 -1
View File
@@ -83,7 +83,10 @@
(l (hash-ref log-hash level 6))) (l (hash-ref log-hash level 6)))
(>= l ll))) (>= l ll)))
(define logger-thread (define logger-thread #f)
(when (eq? logger-thread #f)
(set! logger-thread
(thread (thread
(λ () (let loop () (λ () (let loop ()
(let* ((v (sync log-queue)) (let* ((v (sync log-queue))
@@ -109,7 +112,13 @@
))) )))
(if (null? lc) (if (null? lc)
(begin
(enqueue! buffer-queue (list topic level dt msg)) (enqueue! buffer-queue (list topic level dt msg))
(let loop ()
(when (> (queue-length buffer-queue) max-log-queue-len)
(dequeue! buffer-queue)
(loop)))
)
(begin (begin
(when (> (queue-length buffer-queue) 0) (when (> (queue-length buffer-queue) 0)
(for-each (λ (log-entry) (for-each (λ (log-entry)
@@ -131,6 +140,7 @@
(loop)))) (loop))))
) )
) )
)
(define (log-to* receiver log-callbacks) (define (log-to* receiver log-callbacks)
(void (void