diff --git a/Doc/library/sys.monitoring.rst b/Doc/library/sys.monitoring.rst index 7cca6f2bcdae912..0a653506b3d4959 100644 --- a/Doc/library/sys.monitoring.rst +++ b/Doc/library/sys.monitoring.rst @@ -54,11 +54,18 @@ Registering and using tools Unregister all events and callback functions associated with *tool_id*. + .. versionadded:: 3.14 + .. function:: free_tool_id(tool_id: int, /) -> None Should be called once a tool no longer requires *tool_id*. Will call :func:`clear_tool_id` before releasing *tool_id*. + .. versionchanged:: 3.14 + Now calls :func:`clear_tool_id` before releasing *tool_id*. + Previously, it would not disable global or local events associated + with *tool_id*, nor unregister any callback functions. + .. function:: get_tool(tool_id: int, /) -> str | None Returns the name of the tool if *tool_id* is in use, diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index 6e3e6331a1b7e88..565bc563a8b41fb 100644 --- a/Doc/whatsnew/3.14.rst +++ b/Doc/whatsnew/3.14.rst @@ -1906,6 +1906,12 @@ sys.monitoring These replace and deprecate the :monitoring-event:`!BRANCH` event. (Contributed by Mark Shannon in :gh:`122548`.) +* Add :func:`sys.monitoring.clear_tool_id` to unregister all events and + callback functions associated with a tool identifier. + :func:`sys.monitoring.free_tool_id` now calls it before releasing the + tool identifier, instead of leaving its events and callbacks registered. + (Contributed by Tian Gao in :gh:`116750`.) + sysconfig ---------