This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dlopen() bug (new testcase)


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]