~ chicken-core (chicken-5) 9c093ffd35fc690661f0d2240168b4efa3807b9d


commit 9c093ffd35fc690661f0d2240168b4efa3807b9d
Author:     Peter Bex <peter.bex@xs4all.nl>
AuthorDate: Sun Oct 13 12:50:28 2013 +0200
Commit:     Mario Domenech Goulart <mario.goulart@gmail.com>
CommitDate: Fri Oct 18 15:54:41 2013 -0300

    Fix read-string!'s EINTR handling in stream ports (non-fixnum in rem. byte calc)
    
    Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>

diff --git a/library.scm b/library.scm
index 9ed04e33..d95724ac 100644
--- a/library.scm
+++ b/library.scm
@@ -1817,10 +1817,9 @@ EOF
 		      ((fx< len 0)
 		       (##sys#update-errno)
 		       (if (eq? (errno) (foreign-value "EINTR" int))
-			   (let ((len (fx< (fxneg len) 1)))
-			     (##sys#dispatch-interrupt
-			      (lambda () 
-				(loop (fx- rem len) (fx+ act len) (fx+ start len)))))
+			   (##sys#dispatch-interrupt
+			    (lambda ()
+			      (loop (fx- rem len) (fx+ act len) (fx+ start len))))
 			   (##sys#signal-hook
 			    #:file-error 'read-string!
 			    (##sys#string-append "cannot read from port - " strerror)
Trap