X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Message-ID: <4B841026.1000905@gmail.com> Date: Tue, 23 Feb 2010 17:28:06 +0000 From: Andrew West User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Statically initialising pthread attributes in dynamic dlls. References: <4B825D76 DOT 6000105 AT gmail DOT com> <4B82C093 DOT 7010001 AT gmail DOT com> <4B83A727 DOT 3030101 AT gmail DOT com> In-Reply-To: <4B83A727.3030101@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 23/02/2010 10:00, Andrew West wrote: > With the code I'm testing against, the exception handler isn't called > in the library and it bombs out there. :( > The dll initialisation stuff calls '_cygtls::init_exception_handler' > but it doesn't insert it because it finds it's already > there ( from test.exe I guess ), or at least it doesn't hit my break > point in '_cygtls::reset_fault' during the call > to pthread_mutexattr_init. > Further to this ( possibly instead of this ). When the code reaches this point inside the call to pthread_mutexattr_init; if ((*object)->magic != magic) Shouldn't the SEH contain the cytls exception handler as the first item in the list? I seem to have 4 things before it; (gdb) info w32 selector Selector $cs 0x03b: base=0x7ffdf000 limit=0x00000fff 32-bit Data (Read/Write, Exp-up) (gdb) x/wx 0x7ffdf000 0x7ffdf000: 0x0022c628 (gdb) x/2wx 0x0022c628 0x22c628: 0x0022c8d4 0x7c90e920 (gdb) x/x 0x7c90e920 0x7c90e920 : 0x83ec8b55 (gdb) x/2wx 0x0022c8d4 0x22c8d4: 0x0022cb7c 0x7c90e920 (gdb) x/x 0x7c90e920 0x7c90e920 : 0x83ec8b55 (gdb) x/2wx 0x0022cb7c 0x22cb7c: 0x0022cbe4 0x7c90e920 (gdb) x/x 0x7c90e920 0x7c90e920 : 0x83ec8b55 (gdb) x/2wx 0x0022cbe4 0x22cbe4: 0x0022ce68 0x7c839ad8 (gdb) x/x 0x7c839ad8 0x7c839ad8 : 0x83ec8b55 (gdb) x/2wx 0x0022ce68 0x22ce68: 0x0022ffe0 0x61028d70 (gdb) x/x 0x61028d70 0x61028d70 <_ZN7_cygtls17handle_exceptionsEP17_EXCEPTION_RECORDP15_exception_listP8_CONTEXTPv>: 0x57e58955 (gdb) x/2wx 0x0022ce68 0x22ce68: 0x0022ffe0 0x61028d70 (gdb) x/x 0x61028d70 0x61028d70 <_ZN7_cygtls17handle_exceptionsEP17_EXCEPTION_RECORDP15_exception_listP8_CONTEXTPv>: 0x57e58955 (gdb) x/x 0x0022ffe0 0x22ffe0: 0xffffffff No idea if I'm even in the right area with this, or am I looking at this list in the wrong order... and should the cygtls exception handler really be in the list twice? Andy -- 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