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: Calling sem_wait() in DllMain( DLL_THREAD_DETACH) crashes


On Mar 16 11:00, Corinna Vinschen wrote:
> On Mar 15 20:50, Jon TURNEY wrote:
> > I did read through the UG looking for a statement like that, but the only
> > thing I found was the caveat about mixing POSIX and Win32 calls to set cwd.
> > Perhaps I overlooked something, or maybe it would be good if that was more
> > clearly documented.
> > 
> > >> However, it does seem that python (or one of its extensions) is doing
> > >> something it shouldn't.
> > 
> > Given the above clarification about cygwin, this is a bug in libcrypto from
> > OpenSSL (which tries to be portable to more than just POSIX, and has a
> > DllMain() which is built for both cygwin and Win32), and a patch like that at
> > [1] (or perhaps one which avoids DllMain on cygwin entirely) should be applied.
> 
> Thanks for the information.  I will look into getting rid of DllMain.
> Just like in libiconv, there's no good reason to use this function in
> a shared lib for Cygwin.

Well, I have to take that back.  The DLL_PROCESS_ATTACH case in
openssl's DllMain function is important to maintain FIPS
compatibility.  So it seems the right thing to do is to remove the
ERR_remove_state() call in the DLL_THREAD_DETACH case.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
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


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