From: Dmitri H. <yav...@ya...> - 2005-11-03 17:24:15
|
Sam Steingold <sds <at> gnu.org> writes: > I do not use clorb, but if you could isolate the problem and produce a > stand-alone test case (preferable working with 2.33.2 but not with the > CVS head), I would look at it. It's a fair request; I have to admit I can't produce such a case yet; this one works :-) (defun bug-server (port) (let ((stream (socket-accept (socket-server port) :element-type '(unsigned-byte 8))) (seq (make-array 53 :element-type '(unsigned-byte 8)))) (socket-status stream) (read-byte-sequence seq stream :start 0 :end 53 :no-hang t) (dotimes (i 53) (setf (aref seq i) i)) (write-sequence seq stream) (force-output stream) (read))) (defun bug-client (port) (let ((stream (socket-connect port "localhost" :element-type '(unsigned-byte 8))) (seq (make-array 53 :element-type '(unsigned-byte 8)))) (write-sequence seq stream) (force-output stream) (socket-status (list stream) 60) (read-byte-sequence seq stream :start 0 :end 12 :no-hang t) (format t "~A~%" seq) (socket-status (list stream) 60) (read-byte-sequence seq stream :start 12 :end 53 :no-hang t) (format t "~A~%" seq))) |