From 3b58c74c988f32f7b1d5697ff0f4a942858db909 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Sun, 3 May 2009 14:16:40 +0000 Subject: [PATCH] Avoid double dialogs in OpenSSLDie on Windows. --- crypto/cryptlib.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 +#include #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; }