1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-28 11:18:11 +00:00

Fix StreamWriter doesn't have the wait_closed() method in Python3.6. Fixes #2170

This commit is contained in:
grossmj 2023-01-20 13:14:57 +08:00
parent 3c2ae5363c
commit a7d19fd89a
2 changed files with 7 additions and 3 deletions

View File

@ -408,7 +408,8 @@ class BaseNode:
if self._wrapper_telnet_server: if self._wrapper_telnet_server:
self._wrap_console_writer.close() self._wrap_console_writer.close()
await self._wrap_console_writer.wait_closed() if sys.version_info >= (3, 7, 0):
await self._wrap_console_writer.wait_closed()
self._wrapper_telnet_server.close() self._wrapper_telnet_server.close()
await self._wrapper_telnet_server.wait_closed() await self._wrapper_telnet_server.wait_closed()
self._wrapper_telnet_server = None self._wrapper_telnet_server = None

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import socket import socket
import asyncio import asyncio
import asyncio.subprocess import asyncio.subprocess
@ -202,7 +203,8 @@ class AsyncioTelnetServer:
except ConnectionError: except ConnectionError:
async with self._lock: async with self._lock:
network_writer.close() network_writer.close()
await network_writer.wait_closed() if sys.version_info >= (3, 7, 0):
await network_writer.wait_closed()
if self._reader_process == network_reader: if self._reader_process == network_reader:
self._reader_process = None self._reader_process = None
# Cancel current read from this reader # Cancel current read from this reader
@ -218,7 +220,8 @@ class AsyncioTelnetServer:
writer.write_eof() writer.write_eof()
await writer.drain() await writer.drain()
writer.close() writer.close()
await writer.wait_closed() if sys.version_info >= (3, 7, 0):
await writer.wait_closed()
except (AttributeError, ConnectionError): except (AttributeError, ConnectionError):
continue continue