svn: r4368

original commit: 800a810dfd
This commit is contained in:
Jay McCarthy 2006-09-18 17:33:17 +00:00
parent 4b36ecd467
commit 067dc55727
4 changed files with 19 additions and 0 deletions

View File

@ -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)

View File

@ -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)

View File

@ -5,6 +5,7 @@
(define-signature net:tcp^
(tcp-abandon-port
tcp-accept
tcp-accept/enable-break
tcp-accept-ready?
tcp-addresses
tcp-close

View File

@ -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)