Saikrishna Arcot
cb2f730c3d
[python] Prevent a potential multithreading crash
...
If there are daemon thread(s) running, and the main thread exits, there
is a chance of a SIGABRT happening if one of the daemon threads happens
to be returning from a C call back to Python code. This is partly
because of how the unwinder works (it uses a special exception
`abi::__forced_unwind` to unwind the stack). If this exception happens
to pass through the destructor of a C++ class (specifically, the
`SWIG_Python_Thread_Allow` class here), then that is considered an
error, and the unwinder will call `std::terminate`, resulting in a
SIGABRT.
More details about this issue are in #2396 .
Fixes #2396 .
2022-10-21 14:26:41 -07:00
William S Fulton
9c50887daa
Python 3.9 support
...
Remove PyEval_InitThreads() call for Python 3.7 and later as Python calls
it automatically now. This removes a deprecation warning when using Python 3.9.
https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads
2020-08-27 19:37:26 +01:00
Olly Betts
7c034ead32
Remove special handling for Python < 2.6
...
See #701 .
2018-06-08 09:34:48 +12:00
Marcelo Matus
ae761ca3ba
fix extra calls to TypeQuery for 'char *' and 'wchar_t *'
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7968 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-10 20:20:19 +00:00
Marcelo Matus
76415ec9a8
minor fix for threads
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7967 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-10 10:11:14 +00:00
Marcelo Matus
efcc7aeacf
fixes for the examples and tcl to use the old Tcl_SetResult()... methods
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7962 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-09 22:39:43 +00:00
Marcelo Matus
8b7fb37a59
more threads cleaning
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7944 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-07 22:25:05 +00:00
Marcelo Matus
2eeef5275d
simplify the thread implementation, use feature 'nothread' to disable threads instead of 'thread' to enable them, plus other fixes around threads
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7933 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-06 19:35:03 +00:00
Marcelo Matus
1c7071040a
more threads code
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7930 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-06 07:20:13 +00:00
Marcelo Matus
0fd2fe23cf
add thread support based in proposal #398495 by Joseph Winston
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7929 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-06 06:39:24 +00:00