mirror of
https://github.com/python/cpython.git
synced 2025-10-09 16:34:44 +00:00
Issue #28053: Applying refactorings, docs and other cleanup to follow.
This commit is contained in:
parent
f1024f7425
commit
5458647bb8
13 changed files with 77 additions and 40 deletions
|
@ -7,6 +7,7 @@
|
|||
# Licensed to PSF under a Contributor Agreement.
|
||||
#
|
||||
|
||||
from abc import ABCMeta, abstractmethod
|
||||
import copyreg
|
||||
import functools
|
||||
import io
|
||||
|
@ -238,3 +239,36 @@ else:
|
|||
fd = df.detach()
|
||||
return socket.socket(family, type, proto, fileno=fd)
|
||||
register(socket.socket, _reduce_socket)
|
||||
|
||||
|
||||
class AbstractReducer(metaclass=ABCMeta):
|
||||
'''Abstract base class for use in implementing a Reduction class
|
||||
suitable for use in replacing the standard reduction mechanism
|
||||
used in multiprocessing.'''
|
||||
ForkingPickler = ForkingPickler
|
||||
register = register
|
||||
dump = dump
|
||||
send_handle = send_handle
|
||||
recv_handle = recv_handle
|
||||
|
||||
if sys.platform == 'win32':
|
||||
steal_handle = steal_handle
|
||||
duplicate = duplicate
|
||||
DupHandle = DupHandle
|
||||
else:
|
||||
sendfds = sendfds
|
||||
recvfds = recvfds
|
||||
DupFd = DupFd
|
||||
|
||||
_reduce_method = _reduce_method
|
||||
_reduce_method_descriptor = _reduce_method_descriptor
|
||||
_rebuild_partial = _rebuild_partial
|
||||
_reduce_socket = _reduce_socket
|
||||
_rebuild_socket = _rebuild_socket
|
||||
|
||||
def __init__(self, *args):
|
||||
register(type(_C().f), _reduce_method)
|
||||
register(type(list.append), _reduce_method_descriptor)
|
||||
register(type(int.__add__), _reduce_method_descriptor)
|
||||
register(functools.partial, _reduce_partial)
|
||||
register(socket.socket, _reduce_socket)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue