parent
4b36ecd467
commit
067dc55727
|
@ -28,6 +28,7 @@
|
|||
(close-output-port p)))
|
||||
|
||||
(define tcp-accept ssl-accept)
|
||||
(define tcp-accept/enable-break ssl-accept/enable-break)
|
||||
|
||||
;; accept-ready? doesn't really work for SSL:
|
||||
(define (tcp-accept-ready? p)
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
(define raw:tcp-abandon-port tcp-abandon-port)
|
||||
(define raw:tcp-accept tcp-accept)
|
||||
(define raw:tcp-accept/enable-break tcp-accept/enable-break)
|
||||
(define raw:tcp-accept-ready? tcp-accept-ready?)
|
||||
(define raw:tcp-addresses tcp-addresses)
|
||||
(define raw:tcp-close tcp-close)
|
||||
|
@ -42,6 +43,20 @@
|
|||
(values (car in-out) (cdr in-out)))]
|
||||
[else (raw:tcp-accept tcp-listener)]))
|
||||
|
||||
; : listener -> iport oport
|
||||
(define (tcp-accept/enable-break tcp-listener)
|
||||
(cond
|
||||
[(pipe-listener? tcp-listener)
|
||||
; XXX put this into async-channel.ss as async-channel-get/enable-break
|
||||
(sync/enable-break
|
||||
(handle-evt
|
||||
(pipe-listener-channel tcp-listener)
|
||||
(lambda (in-out)
|
||||
(values (car in-out) (cdr in-out)))))]
|
||||
#;(let ([in-out (async-channel-get (pipe-listener-channel tcp-listener))])
|
||||
(values (car in-out) (cdr in-out)))
|
||||
[else (raw:tcp-accept/enable-break tcp-listener)]))
|
||||
|
||||
; : tcp-listener -> iport oport
|
||||
; FIX - check channel queue size
|
||||
(define (tcp-accept-ready? tcp-listener)
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
(define-signature net:tcp^
|
||||
(tcp-abandon-port
|
||||
tcp-accept
|
||||
tcp-accept/enable-break
|
||||
tcp-accept-ready?
|
||||
tcp-addresses
|
||||
tcp-close
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
(define raw:tcp-abandon-port tcp-abandon-port)
|
||||
(define raw:tcp-accept tcp-accept)
|
||||
(define raw:tcp-accept/enable-break tcp-accept/enable-break)
|
||||
(define raw:tcp-accept-ready? tcp-accept-ready?)
|
||||
(define raw:tcp-addresses tcp-addresses)
|
||||
(define raw:tcp-close tcp-close)
|
||||
|
@ -22,6 +23,7 @@
|
|||
|
||||
(define tcp-abandon-port raw:tcp-abandon-port)
|
||||
(define tcp-accept raw:tcp-accept)
|
||||
(define tcp-accept/enable-break raw:tcp-accept/enable-break)
|
||||
(define tcp-accept-ready? raw:tcp-accept-ready?)
|
||||
(define tcp-addresses raw:tcp-addresses)
|
||||
(define tcp-close raw:tcp-close)
|
||||
|
|
Loading…
Reference in New Issue
Block a user