-
- (defmethod excl:device-extend ((stream extendable-buffer-output-stream)
- need action)
- (declare (ignore action))
- (let* ((len (file-position stream))
- (new-len (max (+ len need) (* 2 len)))
- (old-buf (slot-value stream 'excl::buffer))
- (new-buf (make-array new-len :element-type '(unsigned-byte 8))))
- (declare (fixnum len)
- (optimize (speed 3) (safety 0)))
- (dotimes (i len)
- (setf (aref new-buf i) (aref old-buf i)))
- (setf (slot-value stream 'excl::buffer) new-buf)
- (setf (slot-value stream 'excl::buffer-ptr) new-len)
- )
- t)
-
+
+ (excl::without-package-locks
+ (defmethod excl:device-extend ((stream extendable-buffer-output-stream)
+ need action)
+ (declare (ignore action))
+ (let* ((len (file-position stream))
+ (new-len (max (+ len need) (* 2 len)))
+ (old-buf (slot-value stream 'excl::buffer))
+ (new-buf (make-array new-len :element-type '(unsigned-byte 8))))
+ (declare (fixnum len)
+ (optimize (speed 3) (safety 0)))
+ (dotimes (i len)
+ (setf (aref new-buf i) (aref old-buf i)))
+ (setf (slot-value stream 'excl::buffer) new-buf)
+ (setf (slot-value stream 'excl::buffer-ptr) new-len)
+ )
+ t))
+