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 ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
