From 701aa9ce0a770739863c0c0fe3da67d2629aef65 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 30 Aug 2013 10:34:56 -0600 Subject: [PATCH] openssl: allow `ssl-abandon-port` on input ports Make `ssl-abandon-port` consistent with the docs and with `tcp-abandon-port`. --- racket/collects/openssl/mzssl.rkt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/racket/collects/openssl/mzssl.rkt b/racket/collects/openssl/mzssl.rkt index 1c683e9840..2f16517cb5 100644 --- a/racket/collects/openssl/mzssl.rkt +++ b/racket/collects/openssl/mzssl.rkt @@ -154,7 +154,7 @@ TO DO: [any/c] any)] [ssl-abandon-port - (c-> (and/c ssl-port? output-port?) void?)] + (c-> ssl-port? void?)] [ssl-port? (c-> any/c boolean?)])) @@ -1262,9 +1262,13 @@ TO DO: (define (ssl-abandon-port p) (let-values ([(mzssl input?) (lookup 'ssl-abandon-port p)]) - (set-mzssl-shutdown-on-close?! mzssl #f) - ;; Call close-output-port to flush, shutdown, and decrement mzssl refcount. - (close-output-port p))) + (cond + [(output-port? p) + (set-mzssl-shutdown-on-close?! mzssl #f) + ;; Call close-output-port to flush, shutdown, and decrement mzssl refcount. + (close-output-port p)] + [else + (close-input-port p)]))) (define (ssl-peer-verified? p) (let-values ([(mzssl input?) (lookup 'ssl-peer-verified? p)])