I've built the most recent Microsoft CHESS (changeset 69631, Oct 2012) thread testing tool from source in Visual Studio 2012 and run it against the Win32 samples; CHESS works very nicely. I then changed the Win32 samples to use _beginthreadex, and CHESS still works. Finally, I changed the deadlock.cpp sample to use std::thread. Now CHESS finds only one thread (instead of the three it finds when using _beginthreadex or CreateThread).
I guess (confirmation, please) that CHESS doesn't shim itself down deep enough in the thread creation 'layer'. That is, it might be "catching" _beginthreadex calls, but std::thread doesn't result in a call to same.
Or (a good possibility), am I missing something else?
Aucun commentaire:
Enregistrer un commentaire