From: Xiang Zhang Date: Sat, 27 Jan 2018 15:04:47 +0000 (+0800) Subject: bpo-32532: Improve documentation of settrace and setprofile (#5359) X-Git-Tag: v3.7.0b1~82 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=60da99b8e2f7bf497569ae4d6c218866575729bf;p=python 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. --- diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index ab08f61f6c..67925e426b 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'``