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

Reply via email to