From 34507ba419bc214c9d8201ef7724224fb6284f4e Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Thu, 13 May 2010 23:11:51 +0800 Subject: [PATCH] Stop using :NO-ERROR in HANDLER-CASE forms: it's cool but generates slow code --- src/streams/gray/io-helpers.lisp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/streams/gray/io-helpers.lisp b/src/streams/gray/io-helpers.lisp index 33241a0..11b5c85 100644 --- a/src/streams/gray/io-helpers.lisp +++ b/src/streams/gray/io-helpers.lisp @@ -107,12 +107,11 @@ (let ((old-start start)) (do () ((= start end) (- start old-start)) (handler-case - (funcall write-fn fd (inc-pointer buf start) (- end start)) + (incf start (funcall write-fn fd (inc-pointer buf start) (- end start))) (isys:epipe () (return (values (- start old-start) :hangup))) (isys:ewouldblock () - (iomux:wait-until-fd-ready fd :output nil t)) - (:no-error (nbytes) (incf start nbytes)))))) + (iomux:wait-until-fd-ready fd :output nil t)))))) (defun %write-octets-from-iobuf (write-fn fd iobuf) (declare (type iobuf iobuf)) -- 2.11.4.GIT