~ chicken-core (master) 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