Ron Frederick added the comment:
Sorry, I should have said that the change below was in the file
asyncio/streams.py.
--
___
Python tracker
<https://bugs.python.org/issue38
Ron Frederick added the comment:
I think the following change might address this problem:
***
*** 233,239
def _on_reader_gc(self, wr):
transport = self._transport
! if transport is not None:
# connection_made was called
New submission from Ron Frederick :
In testing AsyncSSH against Python 3.8, I noticed a large number of the
following errors, even though I was properly closing streams before the objects
holding them were garbage-collected.
An open stream object is being garbage collected; call
Ron Frederick added the comment:
> I think you're doing it the right way. It's a rather niche requirement, so I
> don't think we should make create_server to somehow support this use case.
Agreed.
> asyncssh looks absolutely amazi
Ron Frederick added the comment:
That'd be great if you could add AbstractServer to the 3.7 docs - thanks!
Regarding the other issue, I'm already set up to use multiple asyncio.Server
objects to deal with the shared port issue and it's working fine. It did mean
duplicating a h
Ron Frederick added the comment:
Thanks. Unfortunately, in the case of the way SSH listeners with dynamic ports,
the protocol only allows a single port number to be returned. So, when binding
on multiple interfaces there's a requirement that the SAME port be chosen for
all of the s
Ron Frederick added the comment:
In my original report, I suggested _either_ exporting asyncio.Server since
that's what was documented elsewhere _OR_ adding AbstractServer to the
documentation and changing existing references to asyncio.Server to point at
asyncio.AbstractServer instea
New submission from Ron Frederick:
The asyncio documentation defines the class 'asyncio.Server' in section
18.5.1.15. However, this class is not exported by asyncio. It is defined in
base_events.py but not in the __all__ list. The only class exported at the
asyncio to