diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2020-03-09 18:52:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-09 18:52:27 (GMT) |
commit | 5854d451cb35ac38bc07b95afeb077e8a35d5c7d (patch) | |
tree | 15d630d56a1952760bfef07ec7358a38bf26d6d5 | |
parent | 3ede1bc794a575a73c6cc74addb5586f4e33a1f5 (diff) | |
download | cpython-5854d451cb35ac38bc07b95afeb077e8a35d5c7d.zip cpython-5854d451cb35ac38bc07b95afeb077e8a35d5c7d.tar.gz cpython-5854d451cb35ac38bc07b95afeb077e8a35d5c7d.tar.bz2 |
bpo-36184: Port python-gdb.py to FreeBSD (GH-18873)
python-gdb.py now checks for "take_gil" function name to check if a
frame tries to acquire the GIL, instead of checking for
"pthread_cond_timedwait" which is specific to Linux and can be a
different condition than the GIL.
(cherry picked from commit 6d0ee60740f2862a878f009671b1aaa75aeb0c2a)
Co-authored-by: Victor Stinner <vstinner@python.org>
-rw-r--r-- | Misc/NEWS.d/next/Tools-Demos/2020-03-09-13-28-13.bpo-36184.BMPJ0D.rst | 4 | ||||
-rwxr-xr-x | Tools/gdb/libpython.py | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Tools-Demos/2020-03-09-13-28-13.bpo-36184.BMPJ0D.rst b/Misc/NEWS.d/next/Tools-Demos/2020-03-09-13-28-13.bpo-36184.BMPJ0D.rst new file mode 100644 index 0000000..2c845e7 --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2020-03-09-13-28-13.bpo-36184.BMPJ0D.rst @@ -0,0 +1,4 @@ +Port python-gdb.py to FreeBSD. python-gdb.py now checks for "take_gil" +function name to check if a frame tries to acquire the GIL, instead of +checking for "pthread_cond_timedwait" which is specific to Linux and can be +a different condition than the GIL. diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py index 93f997c..9496ff2 100755 --- a/Tools/gdb/libpython.py +++ b/Tools/gdb/libpython.py @@ -1600,7 +1600,7 @@ class Frame(object): # This assumes the _POSIX_THREADS version of Python/ceval_gil.h: name = self._gdbframe.name() if name: - return 'pthread_cond_timedwait' in name + return (name == 'take_gil') def is_gc_collect(self): '''Is this frame "collect" within the garbage-collector?''' |