~ 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