I am trying to understand how things work behind the scene.
When I run a service that uses HttpEntrypoint it binds to port 8000 and handles requests.
When I start another process in my opinion it is supposed to try to bind to the same port and fail. But it does not fail and actually starts to receive every second request.
I looked in the code of class WebServer:
if not self._starting:
self._starting = True
So I understand that this code creates a listening socket only once allowing many @http entrypoints. So I understand how this works in one memory space of one process.
But how a completely separate process can also share WebServer’s SharedExtension!?