If you create the ssl-listener with reuse?=true instead, like this (define listener (ssl-listen port 5 #f #t ctx))
does the problem go away? If so, the error might happen because the OS reserves the port number for a while after the listener is closed; see the paragraph about TIME_WAIT in the tcp-listener docs. If that's the issue, I'm a little confused why the TCP version would succeed, though. I believe SSL_shutdown is completely unrelated to the state of the TCP ports. Think of it like a "Connection: close" HTTP header; it announces your intention to close the TCP connection soon, but it has no actual effect on the transport layer. Ryan On Fri, Jul 24, 2020 at 6:19 PM Sage Gerard <s...@sagegerard.com> wrote: > I'm trying to understand how I am failing to shut down an ssl-listener on > v7.7.0.5. > > https://gist.github.com/zyrolasting/bc5477bfa60d7185d0f53a5142545f88 > shows my use of ssl-* procedures to transmit data using test.pem. The > problem is that I cannot run the test submodule twice in a row because the > listening port is still occupied on subsequent runs. I added ssl-close on > top of a custodian shutdown and that problem reproduces. > > For comparison, > https://gist.github.com/zyrolasting/3feb0ff4ecdf0b49bcf3e0ed8b630a06 > avoids the ssl-* procedures and just uses vanilla TCP. I can run the tests > fine then. > > But in looking at mzssl.rkt in the source, it looks like shutdown requires > calling a foreign function via SSL_shutdown. > https://github.com/racket/racket/blob/master/racket/collects/openssl/mzssl.rkt#L1417 > > Do I have to call ports->ssl-ports out of band just so closing them sends > a shut down as a side-effect? Or is keeping the port occupied between test > runs a bug? > > *~slg* > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/EclLZhgUYlzvOx_uS0Ec154iNVVwXxNeZWcTIDzd72lwkA3M2OhVf8AW_cVMVUudM50kLuLVvnnnmiRGvZDvz5tPSUVOqFkC2LVI-2LY18Q%3D%40sagegerard.com > <https://groups.google.com/d/msgid/racket-users/EclLZhgUYlzvOx_uS0Ec154iNVVwXxNeZWcTIDzd72lwkA3M2OhVf8AW_cVMVUudM50kLuLVvnnnmiRGvZDvz5tPSUVOqFkC2LVI-2LY18Q%3D%40sagegerard.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CANy33qmLM6wfYhedVzR-PjmETNf-TXioTtww94u1%2Bot4SsFHZQ%40mail.gmail.com.