;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for System version 124.41
;;; Reason:
;;;  When a :write-data request failed, a tcp-buffered-stream was losing its buffer.
;;; Written 9-Jun-88 12:24:38 by pld (Peter L. DeWolf) at site Gigamos Cambridge
;;; while running on Cthulhu from band 1
;;; with Experimental System 124.37, Experimental Local-File 74.1, Experimental File-Server 23.1, Experimental Unix-Interface 12.0, Experimental ZMail 72.0, Experimental Tape 23.6, Experimental Lambda-Diag 16.1, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8, the old ones.


; From modified file DJ: L.NETWORK.IP-TCP.KERNEL; TCP-STREAM.LISP#61 at 9-Jun-88 12:25:24
#10R TCP#: 
(COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "TCP")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; KERNEL; TCP-STREAM  "


(defmethod (tcp-buffered-stream :send-output-buffer) (buffer count)
  (setf (fill-pointer buffer) count)
  (unless (send socket :write-data buffer :pushed (< count output-buffer-size) :urgent urgent-output)
    (send self :discard-buffer buffer)
    (global:ferror 'sys:connection-closed "Connection closed" socket)))

))
