summaryrefslogtreecommitdiff
path: root/Lib/multiprocessing/managers.py
diff options
context:
space:
mode:
authorJesse Noller <jnoller@gmail.com>2008-07-16 14:32:36 +0000
committerJesse Noller <jnoller@gmail.com>2008-07-16 14:32:36 +0000
commit13e9d582fd55c3f680cbe9d3d4c219722a484d92 (patch)
tree8fd06a37d7646bdb48d3699ac38d3c35d1a8857c /Lib/multiprocessing/managers.py
parenta6c5dc07f46c21f3fab81ce44321239378c09548 (diff)
downloadcpython-git-13e9d582fd55c3f680cbe9d3d4c219722a484d92.tar.gz
Apply Amaury's patch to multiprocessing for issue 3125, removes the copy_reg and replaces it with ForkingPickler.register(), which should resolve the conflict with the global registry/ctypes
Diffstat (limited to 'Lib/multiprocessing/managers.py')
-rw-r--r--Lib/multiprocessing/managers.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py
index d322d90766..ba5af5701f 100644
--- a/Lib/multiprocessing/managers.py
+++ b/Lib/multiprocessing/managers.py
@@ -18,13 +18,12 @@ import sys
import weakref
import threading
import array
-import copy_reg
import Queue
from traceback import format_exc
from multiprocessing import Process, current_process, active_children, Pool, util, connection
from multiprocessing.process import AuthenticationString
-from multiprocessing.forking import exit, Popen, assert_spawning
+from multiprocessing.forking import exit, Popen, assert_spawning, ForkingPickler
from multiprocessing.util import Finalize, info
try:
@@ -38,7 +37,7 @@ except ImportError:
def reduce_array(a):
return array.array, (a.typecode, a.tostring())
-copy_reg.pickle(array.array, reduce_array)
+ForkingPickler.register(array.array, reduce_array)
view_types = [type(getattr({}, name)()) for name in ('items','keys','values')]