bpo-37027: Return a proxy socket object from transp.get_extra_info('socket') (GH-13530)



Return a safe to use proxy socket object from `transport.get_extra_info('socket')`




https://bugs.python.org/issue37027
diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py
index ce4f190..e5cd14b 100644
--- a/Lib/asyncio/base_events.py
+++ b/Lib/asyncio/base_events.py
@@ -45,6 +45,7 @@
 from . import staggered
 from . import tasks
 from . import transports
+from . import trsock
 from .log import logger
 
 
@@ -319,8 +320,8 @@
     @property
     def sockets(self):
         if self._sockets is None:
-            return []
-        return list(self._sockets)
+            return ()
+        return tuple(trsock.TransportSocket(s) for s in self._sockets)
 
     def close(self):
         sockets = self._sockets