cryptlib.c: refine logic in OpenSSLDie (addenum to commit#18118).
authorAndy Polyakov <appro@openssl.org>
Mon, 4 May 2009 06:23:05 +0000 (06:23 +0000)
committerAndy Polyakov <appro@openssl.org>
Mon, 4 May 2009 06:23:05 +0000 (06:23 +0000)
crypto/cryptlib.c

index 901b87a4dd2c78b5ae96fb63b4ac6c7058ccd21a..ed27d66099a354d07628b2f00f0451fbab0cfb84 100644 (file)
@@ -711,6 +711,8 @@ void OPENSSL_cpuid_setup(void) {}
 #ifdef __CYGWIN__
 /* pick DLL_[PROCESS|THREAD]_[ATTACH|DETACH] definitions */
 #include <windows.h>
 #ifdef __CYGWIN__
 /* pick DLL_[PROCESS|THREAD]_[ATTACH|DETACH] definitions */
 #include <windows.h>
+/* this has side-effect of _WIN32 getting defined, which otherwise
+ * is mutually exclusive with __CYGWIN__... */
 #endif
 
 /* All we really need to do is remove the 'error' state when a thread
 #endif
 
 /* All we really need to do is remove the 'error' state when a thread
@@ -884,10 +886,10 @@ void OpenSSLDie(const char *file,int line,const char *assertion)
        OPENSSL_showfatal(
                "%s(%d): OpenSSL internal error, assertion failed: %s\n",
                file,line,assertion);
        OPENSSL_showfatal(
                "%s(%d): OpenSSL internal error, assertion failed: %s\n",
                file,line,assertion);
-#if !defined(_WIN32)
+#if !defined(_WIN32) || defined(__CYGWIN__)
        abort();
 #else
        abort();
 #else
-       /* Win32 customarily shows a dialog, but we just did that... */
+       /* Win32 abort() customarily shows a dialog, but we just did that... */
        raise(SIGABRT);
        _exit(3);
 #endif
        raise(SIGABRT);
        _exit(3);
 #endif