summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Felt <aixtools@users.noreply.github.com>2019-01-11 18:17:03 (GMT)
committerEric Snow <ericsnowcurrently@gmail.com>2019-01-11 18:17:03 (GMT)
commita909460a09cca79bd051c45b02e650862a57dbd9 (patch)
tree667494ffad69c0cf624dfae87c641746d27201fe
parent2a39d251f07d4c620e3b9a1848e3d1eb3067be64 (diff)
downloadcpython-a909460a09cca79bd051c45b02e650862a57dbd9.zip
cpython-a909460a09cca79bd051c45b02e650862a57dbd9.tar.gz
cpython-a909460a09cca79bd051c45b02e650862a57dbd9.tar.bz2
bpo-34569: Fix subinterpreter 32-bit ABI, pystate.c/_new_long_object() (gh-9127)
This fixes ShareableTypeTests.test_int() in Lib/test/test__xxsubinterpreters.py.
-rw-r--r--Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst2
-rw-r--r--Python/pystate.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst b/Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst
new file mode 100644
index 0000000..bd433ad
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst
@@ -0,0 +1,2 @@
+The experimental PEP 554 data channels now correctly pass negative PyLong
+objects between subinterpreters on 32-bit systems. Patch by Michael Felt.
diff --git a/Python/pystate.c b/Python/pystate.c
index 98882eb..4dc3b81 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -1467,7 +1467,7 @@ _str_shared(PyObject *obj, _PyCrossInterpreterData *data)
static PyObject *
_new_long_object(_PyCrossInterpreterData *data)
{
- return PyLong_FromLongLong((int64_t)(data->data));
+ return PyLong_FromLongLong((intptr_t)(data->data));
}
static int