From: Victor Stinner Date: Mon, 9 Mar 2020 18:35:26 +0000 (+0100) Subject: bpo-36184: Port python-gdb.py to FreeBSD (GH-18873) X-Git-Tag: v3.9.0a5~132 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6d0ee60740f2862a878f009671b1aaa75aeb0c2a;p=thirdparty%2FPython%2Fcpython.git 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. --- 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 000000000000..2c845e7df793 --- /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 2ab7d3b11cad..cd7ae1097d4f 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?'''