.
original commit: 129e2b2fddb36c4a408af6327233ca9fd3fa0d36
This commit is contained in:
parent
c6446eecf2
commit
20a62e5305
|
@ -15,7 +15,7 @@
|
|||
(make-output-port
|
||||
name
|
||||
always-evt
|
||||
(lambda (s start end non-block?) (- end start))
|
||||
(lambda (s start end non-block? breakable?) (- end start))
|
||||
void
|
||||
(lambda (special non-block?) #t)
|
||||
(lambda (s start end) (wrap-evt
|
||||
|
@ -84,12 +84,11 @@
|
|||
(semaphore-peek-evt lock-semaphore)
|
||||
(lambda (x) 0)))
|
||||
(define (read-it s)
|
||||
(parameterize ([break-enabled #f])
|
||||
(call-with-semaphore
|
||||
lock-semaphore
|
||||
(lambda ()
|
||||
(do-read-it s))
|
||||
try-again)))
|
||||
(call-with-semaphore
|
||||
lock-semaphore
|
||||
(lambda ()
|
||||
(do-read-it s))
|
||||
try-again))
|
||||
(define (do-read-it s)
|
||||
(if (char-ready? peeked-r)
|
||||
(read-bytes-avail!* s peeked-r)
|
||||
|
@ -111,12 +110,11 @@
|
|||
(when (null? special-peeked)
|
||||
(set! special-peeked-tail #f))))])))
|
||||
(define (peek-it s skip)
|
||||
(parameterize ([break-enabled #f])
|
||||
(call-with-semaphore
|
||||
lock-semaphore
|
||||
(lambda ()
|
||||
(do-peek-it s skip))
|
||||
try-again)))
|
||||
(call-with-semaphore
|
||||
lock-semaphore
|
||||
(lambda ()
|
||||
(do-peek-it s skip))
|
||||
try-again))
|
||||
(define (do-peek-it s skip)
|
||||
(let ([v (peek-bytes-avail!* s skip peeked-r)])
|
||||
(if (zero? v)
|
||||
|
|
|
@ -73,13 +73,13 @@
|
|||
(define dynamic-enable-break
|
||||
(polymorphic
|
||||
(lambda (thunk)
|
||||
(parameterize ([break-enabled #t])
|
||||
(parameterize-break #t
|
||||
(thunk)))))
|
||||
|
||||
(define dynamic-disable-break
|
||||
(polymorphic
|
||||
(lambda (thunk)
|
||||
(parameterize ([break-enabled #f])
|
||||
(parameterize-break #f
|
||||
(thunk)))))
|
||||
|
||||
(define make-single-threader
|
||||
|
@ -113,7 +113,7 @@
|
|||
(let ([c (make-custodian)])
|
||||
(parameterize ([current-custodian c])
|
||||
;; disable breaks during session set-up...
|
||||
(parameterize ([break-enabled #f])
|
||||
(parameterize-break #f
|
||||
;; ... but enable breaks while blocked on an accept:
|
||||
(let-values ([(r w) ((if can-break?
|
||||
tcp-accept/enable-break
|
||||
|
|
Loading…
Reference in New Issue
Block a user