Turn off port buffering, thereby making Microsoft Windows Internet

Explorer work.
This commit is contained in:
sperber 2002-06-27 08:11:48 +00:00
parent 57915d3e16
commit d7a148a2a5
1 changed files with 8 additions and 3 deletions

View File

@ -292,7 +292,11 @@
(define (set-ftp-socket-options! socket)
;; If the client closes the connection, we won't lose when we try to
;; close the socket by trying to flush the output buffer.
(set-port-buffering (socket:outport socket) bufpol/none)
;; ... only it somehow exposes a bug in Windows Internet Explorer
;; so we leave it disabled.
;; (set-port-buffering (socket:outport socket) bufpol/none)
(set-socket-option socket level/socket tcp/no-delay #t)
(set-socket-option socket level/socket socket/oob-inline #t))
@ -1200,7 +1204,8 @@
(define (write-final-reply line)
(format (session-control-output-port) "~D ~A" (session-reply-code) line)
(log (syslog-level debug) "Reply: ~D ~A~%" (session-reply-code) line)
(write-crlf (session-control-output-port)))
(write-crlf (session-control-output-port))
(force-output (session-control-output-port)))
(define (write-nonfinal-reply line)
(format (session-control-output-port) "~D-~A" (session-reply-code) line)
@ -1218,7 +1223,7 @@
; Version
(define *ftpd-version* "$Revision: 1.1 $")
(define *ftpd-version* "$Revision: 1.2 $")
(define (copy-port->port-binary input-port output-port)
(let ((buffer (make-string *window-size*)))