1.0.16.34: Remove global STACK-ALLOCATE-VALUE-CELLS proclamation in make-host-2.lisp
[sbcl.git] / src / code / fd-stream.lisp
index 8d369bd..1428363 100644 (file)
@@ -70,8 +70,8 @@
   ;;
   ;; ...again, once we have smarted locks the spinlock here can become
   ;; a mutex.
-  `(sb!thread::call-with-system-spinlock (lambda () ,@body)
-                                         *available-buffers-spinlock*))
+  `(sb!thread::with-system-spinlock (*available-buffers-spinlock*)
+     ,@body))
 
 (defconstant +bytes-per-buffer+ (* 4 1024)
   #!+sb-doc
   (let ((fd (fd-stream-fd stream))
         (errno 0)
         (count 0))
-    (declare (dynamic-extent fd errno count))
+    (declare (optimize sb!c::stack-allocate-value-cells)
+             (dynamic-extent fd errno count))
     (tagbody
        ;; Check for blocking input before touching the stream, as if
        ;; we happen to wait we are liable to be interrupted, and the
 
   ;; Calculate useful stuff.
   (multiple-value-bind (input output mask)
-      (case direction
+      (ecase direction
         (:input  (values   t nil sb!unix:o_rdonly))
         (:output (values nil   t sb!unix:o_wronly))
         (:io     (values   t   t sb!unix:o_rdwr))