Changeset 384


Ignore:
Timestamp:
Jan 24, 2004, 3:41:56 PM (21 years ago)
Author:
Gary Byers
Message:

Return was-open-p from CLOSE method.

Location:
trunk/ccl/level-1
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/l1-sockets.lisp

    r78 r384  
    254254  (when (socket-device socket)
    255255    (fd-close (socket-device socket))
    256     (setf (socket-device socket) nil)))
     256    (setf (socket-device socket) nil)
     257    t))
    257258
    258259;; A passive tcp socket just generates connection streams
  • trunk/ccl/level-1/l1-streams.lisp

    r358 r384  
    244244(defmethod close ((stream stream) &key abort)
    245245  (declare (ignore abort))
    246   nil)
    247 
    248 (defmethod close :after ((stream stream) &key abort)
    249   (declare (ignore abort))
    250   (unless (slot-value stream 'closed)
    251     (set-slot-value stream 'closed :closed)
    252     t))
     246  (with-slots ((closed closed)) stream
     247      (unless closed
     248        (setf closed nil))))
     249
     250
    253251
    254252(defmethod open-stream-p ((x t))
     
    16791677  ())
    16801678
    1681 
    16821679(defmethod close :after ((stream buffered-stream-mixin) &key abort)
    16831680  (declare (ignore abort))
     
    16861683      (%ioblock-close ioblock))))
    16871684
    1688 
    16891685(defmethod close :before ((stream buffered-output-stream-mixin) &key abort)
    1690   (declare (ignore abort))
    1691   (when (open-stream-p stream)
    1692     (stream-force-output stream)))
     1686  (unless abort
     1687    (when (open-stream-p stream)
     1688      (stream-force-output stream))))
    16931689
    16941690(defmethod interactive-stream-p ((stream buffered-stream-mixin))
  • trunk/ccl/level-1/l1-sysio.lisp

    r6 r384  
    471471          (delete-file original-name)))
    472472      (setq *open-file-streams* (nremove s *open-file-streams*))
    473       (call-next-method))))
     473      (call-next-method)
     474      t)))
    474475
    475476(defmethod select-stream-class ((class file-stream) in-p out-p char-p)
     
    621622(defun file-string-length (stream object)
    622623  (unless (and (typep stream 'file-stream)
    623                (eq 'character (stream-element-type stream)))
     624               (let* ((eltype (stream-element-type stream)))
     625                 (or (eq 'character eltype)
     626                     (eq 'base-char eltype)
     627                     (subtypep eltype 'character))))
    624628    (error "~S is not a file stream capable of character output" stream))
    625629  (etypecase object
Note: See TracChangeset for help on using the changeset viewer.