From f92bddd21b3e49c123693282f0500ff09fbad195 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Wed, 22 Jul 2015 16:30:31 -0500 Subject: [PATCH] Move rest of unstable/logging from typed-racket-lib to unstable-lib. --- typed-racket-lib/unstable/info.rkt | 3 -- typed-racket-lib/unstable/logging.rkt | 62 --------------------------- 2 files changed, 65 deletions(-) delete mode 100644 typed-racket-lib/unstable/info.rkt delete mode 100644 typed-racket-lib/unstable/logging.rkt diff --git a/typed-racket-lib/unstable/info.rkt b/typed-racket-lib/unstable/info.rkt deleted file mode 100644 index 65d90c09..00000000 --- a/typed-racket-lib/unstable/info.rkt +++ /dev/null @@ -1,3 +0,0 @@ -#lang info - -(define test-responsibles '(("logging.rkt" stamourv))) diff --git a/typed-racket-lib/unstable/logging.rkt b/typed-racket-lib/unstable/logging.rkt deleted file mode 100644 index 81af28df..00000000 --- a/typed-racket-lib/unstable/logging.rkt +++ /dev/null @@ -1,62 +0,0 @@ -#lang racket/base - -(require racket/contract/base - racket/logging) - -;; re-exported from racket/logging, for backwards compatibility -(provide with-intercepted-logging - with-logging-to-port) - -;; helper used below -(define (receiver-thread receiver stop-chan intercept) - (thread - (lambda () - (define (clear-events) - (let ([l (sync/timeout 0 receiver)]) - (when l ; still something to read - (intercept l) ; interceptor gets the whole vector - (clear-events)))) - (let loop () - (let ([l (sync receiver stop-chan)]) - (cond [(eq? l 'stop) - ;; we received all the events we were supposed - ;; to get, read them all (w/o waiting), then - ;; stop - (clear-events)] - [else ; keep going - (intercept l) - (loop)])))))) - -(struct listener (stop-chan - ;; ugly, but the thread and the listener need to know each - ;; other - [thread #:mutable] - [rev-messages #:mutable] - [done? #:mutable])) - -;; [level] -> listener -(define (start-recording . log-spec) - (let* ([receiver (apply make-log-receiver (current-logger) log-spec)] - [stop-chan (make-channel)] - [cur-listener (listener stop-chan #f '() #f)] - [t (receiver-thread - receiver stop-chan - (lambda (l) - (set-listener-rev-messages! - cur-listener - (cons l (listener-rev-messages cur-listener)))))]) - (set-listener-thread! cur-listener t) - cur-listener)) - -;; listener -> listof messages -(define (stop-recording cur-listener) - (unless (listener-done? cur-listener) - (channel-put (listener-stop-chan cur-listener) - 'stop) ; stop the receiver thread - (thread-wait (listener-thread cur-listener)) - (set-listener-done?! cur-listener #t)) - (reverse (listener-rev-messages cur-listener))) - -(provide/contract - [start-recording (->* () #:rest (listof (or/c symbol? #f)) listener?)] - [stop-recording (-> listener? (listof log-message/c))])