<div class="gmail_quote"><div id=":2i">Hello,<br><br>Ive just stumbled accross your changes Krisvale, and from your last reply, I can see that you invalidated your changes :<br><br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">


<pre>I just realized that this is probably a redundant change.
We have C apis to get all the Thread states in an interpreter state (I didn&#39;t even know there was such a thing as multiple interpreter states, but there!)
This is the PyInterpreterState_ThreadHead() api et al.
>From C, all that is missing is a SetTrace api that takes a thread state.

>From python, the threading module provides access to all Thread objects, and each of those has a settrace/setprofile method.

To turn on global tracing from cProfile, all that is needed is to iterate over all the Thread objects.</pre></blockquote><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">


<div><pre>Setting this to invalid, since there already are APIs to do this, at least from .py code.</pre></div></blockquote><div> Could you please provide more explanations, or even an example ? Because it seems that you&#39;re the only one on earth to finally find a way to multithread the cProfiler...</div>

</div></div><br>