Fixed bpo-29565: Corrected ctypes passing of large structs by value on Windows AMD64. by vsajip · Pull Request #168 · python/cpython
Added code and test to check that when a structure passed by value is large enough to need to be passed by reference, a copy of the original structure is passed. The callee updates the passed-in value, and the test verifies that the caller's copy is unchanged. A similar change was also added to the test added for bpo-20160 (that test was passing, but the changes should guard against regressions).
vsajip
changed the title
Fixed bpo-29565: Corrected ctypes passing of large structs by value.
Fixed bpo-29565: Corrected ctypes passing of large structs by value on Windows AMD64.
This was referenced
vsajip added a commit that referenced this pull request
vsajip added a commit that referenced this pull request
vstinner added a commit that referenced this pull request
…ows AMD64 (GH-168) (GH-8625) Fixed bpo-29565: Corrected ctypes passing of large structs by value. Added code and test to check that when a structure passed by value is large enough to need to be passed by reference, a copy of the original structure is passed. The callee updates the passed-in value, and the test verifies that the caller's copy is unchanged. A similar change was also added to the test added for bpo-20160 (that test was passing, but the changes should guard against regressions). (cherry picked from commit a86339b)
akruis added a commit to akruis/cpython that referenced this pull request
akruis added a commit to akruis/cpython that referenced this pull request
akruis added a commit to akruis/cpython that referenced this pull request
akruis added a commit to akruis/cpython that referenced this pull request
akruis added a commit to akruis/cpython that referenced this pull request
akruis added a commit to akruis/cpython that referenced this pull request
akruis pushed a commit to akruis/cpython that referenced this pull request
… modules (python#170) Many extension modules were created by Cython versions before commit 037bcf0 and were compiled with regular C-Python. These modules call PyEval_EvalFrameEx() with a broken frame object. This commit add code to recover a broken frame in PyEval_EvalFrameEx(). (cherry picked from commit f9094d2)
akruis pushed a commit to akruis/cpython that referenced this pull request
… modules (python#170) Many extension modules were created by Cython versions before commit 037bcf0 and were compiled with regular C-Python. These modules call PyEval_EvalFrameEx() with a broken frame object. This commit add code to recover a broken frame in PyEval_EvalFrameEx().
akruis pushed a commit to akruis/cpython that referenced this pull request
… modules (python#169) Many extension modules were created by Cython versions before commit 037bcf0 and were compiled with regular C-Python. These modules call PyEval_EvalFrameEx() with a broken frame object. This commit add code to recover a broken frame in PyEval_EvalFrameEx().