Bernhard Loos <bernloos <at> web.de> writes: > > >You'll have to read the archives. Eric Blake has talked about this very > >recently. > > Sorry, but I'm unable to locate it. The last post mentioning IsBad*Ptr occoured > arround March 2005 - not very recently.
http://cygwin.com/ml/cygwin/2006-03/msg00455.html The gist of it is that IsBad*Ptr is a syscall, and a relatively dangerous one at that - Microsoft documents that it is not threadsafe, and that calling IsBadWritePtr on a stack guard page will disable the ability to grow that stack, meaning that the next time you write to the guard page your process will just quit (no popup box, no exception, nothing - just quit). On the other hand, an exception handler is faster in the normal case of good pointers, does not corrupt system state of whether the stack guard page can grow, and does not cause data races with other threads. -- Eric Blake -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/