diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst index 70a1104127e9a8..b87e3643957f38 100644 --- a/Doc/whatsnew/3.12.rst +++ b/Doc/whatsnew/3.12.rst @@ -136,6 +136,14 @@ sqlite3 * Add a :ref:`command-line interface `. (Contributed by Erlend E. Aasland in :gh:`77617`.) +threading +--------- + +* Add :func:`threading.settrace_all_threads` and + :func:`threading.setprofile_all_threads` that allow to set tracing and + profiling functions in all running threads in addition to the calling one. + (Contributed by Pablo Galindo in :gh:`93503`.) + Optimizations ============= @@ -470,6 +478,12 @@ New Features ``__dict__`` and weakrefs with less bookkeeping, using less memory and with faster access. +* Added two new public functions, + :c:func:`PyEval_SetProfileAllThreads` and + :c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling + functions in all running threads in addition to the calling one. (Contributed + by Pablo Galindo in :gh:`93503`.) + Porting to Python 3.12 ---------------------- diff --git a/Misc/NEWS.d/next/C API/2022-06-06-16-04-14.gh-issue-93503.MHJTu8.rst b/Misc/NEWS.d/next/C API/2022-06-06-16-04-14.gh-issue-93503.MHJTu8.rst index 6df9f95fc9461d..3dd292cd778023 100644 --- a/Misc/NEWS.d/next/C API/2022-06-06-16-04-14.gh-issue-93503.MHJTu8.rst +++ b/Misc/NEWS.d/next/C API/2022-06-06-16-04-14.gh-issue-93503.MHJTu8.rst @@ -1,7 +1,7 @@ Add two new public functions to the public C-API, -:c:func:`PyEval_SetProfileAllThreads` and -:c:func:`PyEval_SetTraceAllThreads`, that allow to set tracking and -profiling functions in all running threads in addition to the calling one. -Also, add a new *running_threads* parameter to :func:`threading.setprofile` -and :func:`threading.settrace` that allows to do the same from Python. Patch -by Pablo Galindo +:c:func:`PyEval_SetProfileAllThreads` and :c:func:`PyEval_SetTraceAllThreads`, +that allow to set tracing and profiling functions in all running threads in +addition to the calling one. Also, two analogous functions to the +:mod:`threading` module (:func:`threading.setprofile_all_threads` and +:func:`threading.settrace_all_threads`) that allow to do the same from Python. +Patch by Pablo Galindo