classification
Title: ctypes.PyThreadState_SetAsyncExc does not work on linux 64bit machines
Type: behavior Stage:
Components: ctypes Versions: Python 2.6, Python 2.5
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: theller Nosy List: coutinhotiago, theller
Priority: normal Keywords:

Created on 2009-07-31 15:13 by coutinhotiago, last changed 2009-09-18 20:19 by theller. This issue is now closed.

Files
File name Uploaded Description Edit
t16.py coutinhotiago, 2009-07-31 15:13 example code
Messages (3)
msg91131 - (view) Author: Tiago Coutinho (coutinhotiago) Date: 2009-07-31 15:13
Hello,

It seems that the ctypes.PyThreadState_SetAsyncExc is not working in
Linux 64bits machines

I have tried the code in attachment in python 2.5 and 2.6 in both 32bits
and 64bits machines with the following return:

      | linux 32bits | linux 64bits |
------|--------------|--------------|
py2.5 |     1 (OK)   |     0 (ERR)  |
py2.6 |     1 (OK)   |     0 (ERR)  |

I have also tried to make a python extension in C++ exporting a function
to python that simply calls the C++ PyThreadState_SetAsyncExc and this
works fine.
msg91132 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2009-07-31 15:56
I have no time to figure out what the attached script is supposed to do.
 Please provide a standalone test-script and describe exactly how it
should be used to reproduce the bug.

However, I guess the problem is that the signature of
PyThreadState_SetAsyncEx is this:
  int PyThreadState_SetAsyncExc( long id, PyObject *exc)

To call this function correctly on a 64-bit system you have to set
argtypes because 'long' isn't the same as 'int' any longer.  Without
argtypes, ctypes passes a Python integer as 'int' argument.
msg92842 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2009-09-18 20:19
I guess this is a bug in your code, as mentioned in my last comment, so
closing as invalid.
History
Date User Action Args
2009-09-18 20:19:07thellersetstatus: open -> closed
resolution: not a bug
messages: + msg92842
2009-07-31 15:56:54thellersetmessages: + msg91132
2009-07-31 15:13:40coutinhotiagocreate