Hi,
That is also a working solution ! /raimo > -----Original Message----- > From: ext Richard Levitte via RT [mailto:[EMAIL PROTECTED]] > Sent: 30 May, 2002 16:10 > To: Vuonnala Raimo (NVO/Helsinki) > Cc: [EMAIL PROTECTED] > Subject: [openssl.org #51] OpenSSL 0.9.7 -BUG - WIN32 > > > > I think I should change e_os2.h so OPENSSL_SYS_MSDOS is only defined > for OPENSSL_SYSNAME_WIN16 and OPENSSL_SYSNAME_WIN16. Does that seem > to be a good solution, or is there something I've missed? > > [[EMAIL PROTECTED] - Thu May 23 14:20:17 2002]: > > > Hi, > > > > There is a bug in 'e_os.h'. > > The effect is that Win32 multithreaded applications crash. > > > > The problem is that currently OPENSSL_SYS_MSDOS is > > defined also for Win32 platform, and MS_STATIC is defined > > as 'static' as follows: > > > > #if defined(OPENSSL_SYS_MSDOS) > > # define MS_STATIC static > > #else > > # define MS_STATIC > > #endif > > > > MS_STATIC is used here and there where there is a large > > auto variable used. In Win32 those are not a problem - instead > > the code is now not re-entrant. > > > > I would recommend to change that problematic definition as follows: > > > > #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYSNAME_WIN32) > > # define MS_STATIC static > > #else > > # define MS_STATIC > > #endif > > > > The bug seems to exist in all 0.9.7 snapshots. > > > > In 0.9.6 the definition is as follows : > > > > #if defined(WIN16) || defined(MSDOS) > > # define MS_STATIC static > > #else > > # define MS_STATIC > > #endif > > This works fine in all Windoze environments. > > > > Best regards > > Raimo Vuonnala > > Nokia Internet Communications > > Helsinki, Finland > > > -- > Richard Levitte > [EMAIL PROTECTED] > ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]