On Thu, Feb 21, 2008 at 10:19 PM, Nicholas Nethercote <[EMAIL PROTECTED]> wrote: > On Thu, 21 Feb 2008, Bart Van Assche wrote: > > On Thu, Feb 21, 2008 at 6:38 PM, Vince Weaver <[EMAIL PROTECTED]> wrote: > > > To do this properly, it would be nice if it were possible to be notified > > > whenever a thread-change happened. That way the statistics from the > > > various threads could be kept separately. > > > > This would be useful for exp-drd too. What I do now is to compare the > > result of VG_(get_running_tid)() with a cached value in order to > > detect when Valgrind scheduled another thread. This test is performed > > upon every load, every store, and every time the stack pointer is > > modified. > > I thought we had such an event -- I thought Josef used it in Callgrind. > In include/pub_tool_tooliface.h I see: > > track_start_client_code > track_stop_client_code > track_pre_thread_ll_create > track_pre_thread_ll_create > track_pre_thread_ll_exit > > Are any of these good enough? (I really thought we had a > track_thread_switch event...)
The above is not sufficient. I have tried in exp-drd to only update the cached thread ID when one of the above events was generated. The result was that for several test cases the cached thread ID was not equal to VG_(get_running_tid()). An example of such a test case is exp-drd/tests/sigalrm.c. Bart. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Valgrind-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-developers
