Statically initialising pthread attributes in dynamic dlls.

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Wed Feb 24 07:23:00 GMT 2010


On Wed, Feb 24, 2010 at 01:39:31AM +0000, Dave Korn wrote:
>On 24/02/2010 00:44, Christopher Faylor wrote:
>
>> I never saw the cygwin exception handler on the list twice when I was
>> debugging this.  That isn't supposed to happen and I don't see how it
>> could happen unless Windows is doing it since the code in
>> _cygtls::init_exception_handler is supposed to prevent that and, if it
>> was on the list twice bad stuff happened.
>> 
>> That actually looks like a typo above since you seem to have typed the
>> same address twice.
>> 
>> Anyway, I've revisited this code, just like I knew I would, and have
>> added YA in a long series of tweaks which seems to fix your particular
>> problem.  The fix is in the latest snapshot.
>
>  :( I think I can see where the next problem is going to arise already.
>
>  If we move el to the front of the list each time, what's going to happen
>when we eventually return from LoadLibrary, and el.prev is still pointing at
>the now-deallocated stack frames where LoadLibrary created its temporary
>EXCEPTION_REGISTRATION structures ?

Unless you can show that LoadLibrary isn't smart enough to clean up
after itself in this scenario, I think it's a non-issue.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list