mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
Issue #25931: Don't defining socketserver.Forking* names on platforms such
as Windows that do not support os.fork().
This commit is contained in:
parent
3bad04ca62
commit
cef1f83c71
2 changed files with 14 additions and 6 deletions
|
@ -134,10 +134,12 @@ except ImportError:
|
||||||
import dummy_threading as threading
|
import dummy_threading as threading
|
||||||
from time import monotonic as time
|
from time import monotonic as time
|
||||||
|
|
||||||
__all__ = ["BaseServer", "TCPServer", "UDPServer", "ForkingUDPServer",
|
__all__ = ["BaseServer", "TCPServer", "UDPServer",
|
||||||
"ForkingTCPServer", "ThreadingUDPServer", "ThreadingTCPServer",
|
"ThreadingUDPServer", "ThreadingTCPServer",
|
||||||
"BaseRequestHandler", "StreamRequestHandler",
|
"BaseRequestHandler", "StreamRequestHandler",
|
||||||
"DatagramRequestHandler", "ThreadingMixIn", "ForkingMixIn"]
|
"DatagramRequestHandler", "ThreadingMixIn"]
|
||||||
|
if hasattr(os, "fork"):
|
||||||
|
__all__.extend(["ForkingUDPServer","ForkingTCPServer", "ForkingMixIn"])
|
||||||
if hasattr(socket, "AF_UNIX"):
|
if hasattr(socket, "AF_UNIX"):
|
||||||
__all__.extend(["UnixStreamServer","UnixDatagramServer",
|
__all__.extend(["UnixStreamServer","UnixDatagramServer",
|
||||||
"ThreadingUnixStreamServer",
|
"ThreadingUnixStreamServer",
|
||||||
|
@ -537,7 +539,9 @@ class UDPServer(TCPServer):
|
||||||
# No need to close anything.
|
# No need to close anything.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class ForkingMixIn:
|
if hasattr(os, "fork"):
|
||||||
|
# Non-standard indentation on this statement to avoid reindenting the body.
|
||||||
|
class ForkingMixIn:
|
||||||
|
|
||||||
"""Mix-in class to handle each request in a new process."""
|
"""Mix-in class to handle each request in a new process."""
|
||||||
|
|
||||||
|
@ -647,8 +651,9 @@ class ThreadingMixIn:
|
||||||
t.start()
|
t.start()
|
||||||
|
|
||||||
|
|
||||||
class ForkingUDPServer(ForkingMixIn, UDPServer): pass
|
if hasattr(os, "fork"):
|
||||||
class ForkingTCPServer(ForkingMixIn, TCPServer): pass
|
class ForkingUDPServer(ForkingMixIn, UDPServer): pass
|
||||||
|
class ForkingTCPServer(ForkingMixIn, TCPServer): pass
|
||||||
|
|
||||||
class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass
|
class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass
|
||||||
class ThreadingTCPServer(ThreadingMixIn, TCPServer): pass
|
class ThreadingTCPServer(ThreadingMixIn, TCPServer): pass
|
||||||
|
|
|
@ -22,6 +22,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #25931: Don't defining socketserver.Forking* names on platforms such
|
||||||
|
as Windows that do not support os.fork().
|
||||||
|
|
||||||
- Issue #21776: distutils.upload now correctly handles HTTPError.
|
- Issue #21776: distutils.upload now correctly handles HTTPError.
|
||||||
Initial patch by Claudiu Popa.
|
Initial patch by Claudiu Popa.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue