From 270581377b8fce6656c847618bf7bfadd1518f9c Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Mon, 22 Apr 2013 10:36:12 -0600 Subject: [PATCH] Adding some debugging notes --- collects/web-server/dispatchers/dispatch-servlets.rkt | 11 +++++++++-- collects/web-server/private/connection-manager.rkt | 3 ++- collects/web-server/private/dispatch-server-unit.rkt | 1 + collects/web-server/private/timer.rkt | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/collects/web-server/dispatchers/dispatch-servlets.rkt b/collects/web-server/dispatchers/dispatch-servlets.rkt index 1a0f8990ea..b8ecab2fc6 100644 --- a/collects/web-server/dispatchers/dispatch-servlets.rkt +++ b/collects/web-server/dispatchers/dispatch-servlets.rkt @@ -56,7 +56,6 @@ #:responders-servlet-loading [responders-servlet-loading servlet-loading-responder] #:responders-servlet [responders-servlet servlet-error-responder]) (lambda (conn req) - (define uri (request-uri req)) (define instance-custodian (make-servlet-custodian)) (parameterize ([current-custodian instance-custodian] [current-execution-context (make-execution-context req)] @@ -64,13 +63,21 @@ (lambda (r) (kill-connection! conn) (custodian-shutdown-all instance-custodian))]) + (define uri (request-uri req)) (define maybe-response (with-handlers ([exn:fail:filesystem:exists? (lambda (the-exn) (next-dispatcher))] [exn:dispatcher? raise] [(lambda (x) #t) - (lambda (the-exn) (responders-servlet-loading uri the-exn))]) + (lambda (the-exn) + (responders-servlet-loading uri the-exn))]) + ;; This could cause the servlet to be initialized, so we + ;; need to make sure that if it errors, the right kind of + ;; error will happen. (define the-servlet (url->servlet uri)) + ;; If it didn't cause initialization, then we need to switch + ;; to the custodian that it started with, among other + ;; things, including throwing a different kind of error (parameterize ([current-servlet the-servlet] [current-custodian (servlet-custodian the-servlet)] [current-directory (servlet-directory the-servlet)] diff --git a/collects/web-server/private/connection-manager.rkt b/collects/web-server/private/connection-manager.rkt index 27f9604ecb..0188c1daa1 100644 --- a/collects/web-server/private/connection-manager.rkt +++ b/collects/web-server/private/connection-manager.rkt @@ -29,7 +29,8 @@ (define (new-connection time-to-live i-port o-port cust close?) (define conn (make-connection - (begin0 (unbox i) (set-box! i (add1 (unbox i)))) + ;; The id is just for debugging and isn't normally useful + 0 ;; (begin0 (unbox i) (set-box! i (add1 (unbox i)))) #f i-port o-port cust close?)) (define conn-wb (make-weak-box conn)) (set-connection-timer! diff --git a/collects/web-server/private/dispatch-server-unit.rkt b/collects/web-server/private/dispatch-server-unit.rkt index e2c13b5f2b..6b8d96c26a 100644 --- a/collects/web-server/private/dispatch-server-unit.rkt +++ b/collects/web-server/private/dispatch-server-unit.rkt @@ -3,6 +3,7 @@ racket/async-channel racket/port mzlib/thread) +(require racket/format) (require "web-server-structs.rkt" "connection-manager.rkt" "dispatch-server-sig.rkt") diff --git a/collects/web-server/private/timer.rkt b/collects/web-server/private/timer.rkt index b893826ff1..7a9217f21a 100644 --- a/collects/web-server/private/timer.rkt +++ b/collects/web-server/private/timer.rkt @@ -13,7 +13,7 @@ (thread (lambda () (let loop ([timers null]) - #;(printf "Timers: ~a\n" (length timers)) + ;; (printf "Timers: ~a\n" (length timers)) ;; Wait for either... (apply sync ;; ... a timer-request message ...