File size: 667 Bytes
618f472
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import os


def silence_proactor_connection_reset() -> None:
    if os.name != "nt":
        return

    from asyncio import proactor_events as _proactor

    transport_cls = _proactor._ProactorBasePipeTransport
    if getattr(transport_cls, "_wan2gp_patch", False):
        return

    original = transport_cls._call_connection_lost

    def _call_connection_lost(self, exc):
        if isinstance(exc, ConnectionResetError):
            exc = None
        try:
            return original(self, exc)
        except ConnectionResetError:
            return None

    transport_cls._call_connection_lost = _call_connection_lost
    transport_cls._wan2gp_patch = True