make read-line
interruptable on a primitive port
Closes PR 14800 Merge to v6.1.1
This commit is contained in:
parent
5eca66acdf
commit
f31c6563e4
|
@ -260,6 +260,14 @@
|
|||
(err/rt-test (read-line (current-input-port) 8))
|
||||
(err/rt-test (read-line (current-input-port) 'anyx))
|
||||
|
||||
(when (file-exists? "/dev/zero")
|
||||
;; Make sure read-line is interruptable on a primitive port that
|
||||
;; has no line ending:
|
||||
(define t (thread (lambda () (call-with-input-file* "/dev/zero" read-line))))
|
||||
(sleep 0.1)
|
||||
(kill-thread t)
|
||||
(test #t thread-dead? t))
|
||||
|
||||
(arity-test open-input-file 1 1)
|
||||
(err/rt-test (open-input-file 8))
|
||||
(err/rt-test (open-input-file "x" 8))
|
||||
|
|
|
@ -3261,6 +3261,8 @@ do_read_line (int as_bytes, const char *who, int argc, Scheme_Object *argv[])
|
|||
}
|
||||
buf[i++] = ch;
|
||||
if (ch > 127) ascii = 0;
|
||||
|
||||
SCHEME_USE_FUEL(1);
|
||||
}
|
||||
|
||||
if (as_bytes) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user