Regression since 1.0.42.43, lp#820599.
Thanks to Robert Brown.
If we remain in the loop, we need to update the local HEAD
variable in the event of a short write.
NOTE: No test case yet, as this is dependant on the size of kernel
buffers, and trying to catch the short-write -case is tricky.
(lp#549673)
* bug fix: SSE comparison instructions can be disassembled even when one
operand is in memory. (lp#814702)
+ * bug fix: incomplete writes when not using SERVE-EVENTS. (lp#820599)
changes in sbcl-1.0.50 relative to sbcl-1.0.49:
* enhancement: errors from FD handlers now provide a restart to remove
(return (reset-buffer obuf)))
(count
;; Partial write -- update buffer status and
- ;; queue or wait. Do not use INCF! Another
- ;; thread might have moved head...
- (setf (buffer-head obuf) (+ count head))
+ ;; queue or wait.
+ (incf head count)
+ (setf (buffer-head obuf) head)
(queue-or-wait))
#!-win32
((eql errno sb!unix:ewouldblock)