;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 124.15 ;;; Reason: ;;; If you abort while closing a file, it may be really closed but ;;; remain on the who line. ;;; Written 1-Jun-88 13:47:07 by pld (Peter L. DeWolf) at site Gigamos Cambridge ;;; while running on Cthulhu from band 2 ;;; with Experimental System 124.10, Experimental Local-File 74.0, Experimental File-Server 23.0, Experimental Unix-Interface 12.0, Experimental ZMail 72.0, Experimental Tape 23.0, Experimental Lambda-Diag 16.0, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8. ; From modified file DJ: L.IO; STREAM.LISP#116 at 1-Jun-88 13:47:40 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: IO; STREAM  " (UNDEFMETHOD (FILE-DATA-STREAM-MIXIN :AFTER :CLOSE)) )) ; From modified file DJ: L.IO; STREAM.LISP#116 at 1-Jun-88 13:47:51 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: IO; STREAM  " (defwrapper (file-data-stream-mixin :close) (ignore . body) `(unwind-protect (progn ,@body) (funcall tv:who-line-file-state-sheet :delete-stream self))) )) ; From modified file DJ: L.NETWORK.IP-TCP.USER; FTP-ACCESS.LISP#48 at 1-Jun-88 13:49:27 #10R FILE-SYSTEM#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "FILE-SYSTEM"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; USER; FTP-ACCESS  " (defmethod (ftp-host-unit :remove-file-stream) (the-file-stream) (lock-host-unit (self) (when file-stream ;Don't bother if already gone (when (not (eq file-stream the-file-stream)) (cerror "remove anyway" "removing ~S but current stream is ~S" the-file-stream file-stream)) (setq file-stream nil)))) ))