Fixing problem report 10261 by stopping when ip is closed

svn: r15095

original commit: 10dc76439835021fc5250f38dfa1ecd24355982f
This commit is contained in:
Jay McCarthy 2009-06-05 17:36:50 +00:00
parent 65b38b778b
commit 1a25902f9a

View File

@ -1023,6 +1023,8 @@
(define (regexp-match-evt pattern input-port) (define (regexp-match-evt pattern input-port)
(define (go nack ch poll?) (define (go nack ch poll?)
(let try-again () (let try-again ()
(if (port-closed? input-port)
#f
(let* ([progress-evt (port-progress-evt input-port)] (let* ([progress-evt (port-progress-evt input-port)]
[m ((if poll? [m ((if poll?
regexp-match-peek-positions-immediate regexp-match-peek-positions-immediate
@ -1059,7 +1061,7 @@
input-port) input-port)
m2] m2]
[poll? #f] [poll? #f]
[else (try-again)]))])))) [else (try-again)]))])))))
(poll-or-spawn go)) (poll-or-spawn go))
(define-syntax (newline-rx stx) (define-syntax (newline-rx stx)