Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Bug report
Bug description:
In earlier versions of Python all the way to 3.13, it would not allow a server to listen on a port that has already been used, and rightfully so.
$ python -m http.server 8000Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...# Trying to start the second server on the same port$ python -m http.server 8000Traceback (most recent call last): File"<frozen runpy>", line 198,in _run_module_as_main File"<frozen runpy>", line 88,in _run_code File"/usr/lib/python3.11/http/server.py", line 1309,in<module> test( File"/usr/lib/python3.11/http/server.py", line 1256,intest with ServerClass(addr, HandlerClass) as httpd: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"/usr/lib/python3.11/socketserver.py", line 456,in __init__self.server_bind() File"/usr/lib/python3.11/http/server.py", line 1303,in server_bindreturnsuper().server_bind() ^^^^^^^^^^^^^^^^^^^^^ File"/usr/lib/python3.11/http/server.py", line 136,in server_bind socketserver.TCPServer.server_bind(self) File"/usr/lib/python3.11/socketserver.py", line 472,in server_bind self.socket.bind(self.server_address)OSError: [Errno 98] Address alreadyin use
But in Python 3.14.0a2, the second command would also start a server without exception. Is that expected?
CPython versions tested on:
3.14
Operating systems tested on:
Linux