diff options
author | Andy Polyakov <appro@openssl.org> | 2009-05-03 14:16:40 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2009-05-03 14:16:40 +0000 |
commit | 3b58c74c988f32f7b1d5697ff0f4a942858db909 (patch) | |
tree | fb8a06f43fedaf3171b241f4c99b7f15d31b7dde /crypto/cryptlib.c | |
parent | 7752d34c61246861d1e60d702535481ff9d18a86 (diff) |
Avoid double dialogs in OpenSSLDie on Windows.
Diffstat (limited to 'crypto/cryptlib.c')
-rw-r--r-- | crypto/cryptlib.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c index bb54e6485a..901b87a4dd 100644 --- a/crypto/cryptlib.c +++ b/crypto/cryptlib.c @@ -753,6 +753,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, #if defined(_WIN32) && !defined(__CYGWIN__) #include <tchar.h> +#include <signal.h> #if defined(_WIN32_WINNT) && _WIN32_WINNT>=0x0333 int OPENSSL_isservice(void) @@ -883,7 +884,13 @@ void OpenSSLDie(const char *file,int line,const char *assertion) OPENSSL_showfatal( "%s(%d): OpenSSL internal error, assertion failed: %s\n", file,line,assertion); +#if !defined(_WIN32) abort(); +#else + /* Win32 customarily shows a dialog, but we just did that... */ + raise(SIGABRT); + _exit(3); +#endif } void *OPENSSL_stderr(void) { return stderr; } |