STINNER Victor added the comment:

fijal explained on IRC his use case: implement vmprof on Windows, a statistical 
profiler, using a C thread running in the Python process.

The _PyThread_CurrentFrames() API requires to be called with the GIL hold which 
is not acceptable for his use case. Having to wait for the GIL would serialize 
statistics plots and so would have a poor quality, probably similar to cProfile.

The use case is to implement something like _PyThread_CurrentFrames() without 
holding the GIL.

--

fijal mentioned pystate.c/.h functions which come with this comment:

/* Routines for advanced debuggers, requested by David Beazley.
   Don't use unless you know what you are doing! */

These functions are not safe if you don't hold head_mutex lock, but this lock 
is private in pystate.c (declared with "static").

I guess that they are safe to use if the whole process is stopped by a debugger 
like gdb.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26461>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to