From 60da99b8e2f7bf497569ae4d6c218866575729bf Mon Sep 17 00:00:00 2001 From: Xiang Zhang Date: Sat, 27 Jan 2018 23:04:47 +0800 Subject: [PATCH] bpo-32532: Improve documentation of settrace and setprofile (#5359) Mention in the documentation of settrace and setprofile that errors in the registered handlers will cause themselves unset. --- Doc/library/sys.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index ab08f61f6c005f..67925e426bb9b0 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -1089,7 +1089,8 @@ always available. but the return event is reported even when an exception has been set). The function is thread-specific, but there is no way for the profiler to know about context switches between threads, so it does not make sense to use this in the presence of multiple threads. Also, - its return value is not used, so it can simply return ``None``. + its return value is not used, so it can simply return ``None``. Error in the profile + function will cause itself unset. Profile functions should have three arguments: *frame*, *event*, and *arg*. *frame* is the current stack frame. *event* is a string: ``'call'``, @@ -1173,6 +1174,9 @@ always available. function for further tracing in that scope), or ``None`` to turn off tracing in that scope. + If there is any error occurred in the trace function, it will be unset, just + like ``settrace(None)`` is called. + The events have the following meaning: ``'call'``