Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r63559:e5bfefa13f01
Date: 2013-04-22 16:58 -0700
http://bitbucket.org/pypy/pypy/changeset/e5bfefa13f01/
Log: apply pickling workarounds from default
diff --git a/lib-python/3/multiprocessing/forking.py
b/lib-python/3/multiprocessing/forking.py
--- a/lib-python/3/multiprocessing/forking.py
+++ b/lib-python/3/multiprocessing/forking.py
@@ -79,10 +79,13 @@
ForkingPickler.register(type(_C().f), _reduce_method)
-def _reduce_method_descriptor(m):
- return getattr, (m.__objclass__, m.__name__)
-ForkingPickler.register(type(list.append), _reduce_method_descriptor)
-ForkingPickler.register(type(int.__add__), _reduce_method_descriptor)
+if type(list.append) is not type(ForkingPickler.save):
+ # Some python implementations have plain functions even for builtin
+ # types
+ def _reduce_method_descriptor(m):
+ return getattr, (m.__objclass__, m.__name__)
+ ForkingPickler.register(type(list.append), _reduce_method_descriptor)
+ ForkingPickler.register(type(int.__add__), _reduce_method_descriptor)
try:
from functools import partial
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit