From eec8a3ec9a5c24794192899d437d7b92825fe5ac Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 4 Oct 2005 12:52:18 +0000 Subject: [PATCH] Converting to block buffering and flushing svn: r963 --- collects/web-server/response.ss | 12 +++++++++--- collects/web-server/web-server-unit.ss | 9 +-------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/collects/web-server/response.ss b/collects/web-server/response.ss index 91e6eb4ff2..66f687b19f 100644 --- a/collects/web-server/response.ss +++ b/collects/web-server/response.ss @@ -115,7 +115,9 @@ ;; output-response: connection response -> void (define (ext:output-response conn resp) (call-with-semaphore (connection-mutex conn) - (lambda () (output-response conn resp)))) + (lambda () + (output-response conn resp) + (flush-output (connection-o-port conn))))) (define (output-response conn resp) (cond @@ -180,7 +182,9 @@ ;; output-file: connection path symbol bytes -> void (define (ext:output-file conn file-path method mime-type) (call-with-semaphore (connection-mutex conn) - (lambda () (output-file conn file-path method mime-type)))) + (lambda () + (output-file conn file-path method mime-type) + (flush-output (connection-o-port conn))))) (define (output-file conn file-path method mime-type) (output-headers conn 200 "Okay" @@ -199,7 +203,9 @@ ;; If it is a head request output headers only, otherwise output as usual (define (ext:output-response/method conn resp meth) (call-with-semaphore (connection-mutex conn) - (lambda () (output-response/method conn resp meth)))) + (lambda () + (output-response/method conn resp meth) + (flush-output (connection-o-port conn))))) (define (output-response/method conn resp meth) (cond diff --git a/collects/web-server/web-server-unit.ss b/collects/web-server/web-server-unit.ss index 8a12008e1a..f9aba19f78 100644 --- a/collects/web-server/web-server-unit.ss +++ b/collects/web-server/web-server-unit.ss @@ -60,14 +60,7 @@ (let ([listener (tcp-listen config:port config:max-waiting #t config:listen-ip)]) (let ([get-ports - (lambda () - (let-values ([(ip op) (tcp-accept listener)]) - ;; Try to set buffer mode, and if it can't be set, - ;; assume that it doesn't matter. (Only happens - ;; when tcp-accept is not MzScheme's version.) - (with-handlers ([exn:fail? void]) - (file-stream-buffer-mode op 'none)) - (values ip op)))]) + (lambda () (tcp-accept listener))]) (thread (lambda () (with-handlers ([void (lambda (e)