summaryrefslogtreecommitdiffstats
path: root/apps/speed.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-12-15 22:30:11 +0000
committerAndy Polyakov <appro@openssl.org>2011-12-15 22:30:11 +0000
commit941811ccb9faf01463c3f6c5637969cbe17cb64c (patch)
treed9bd5921a11ac7da763a1082714f36809d4b3878 /apps/speed.c
parent700384be8ef3177b1dc499299c388a4db97c671f (diff)
apps/speed.c: Cygwin alarm() fails sometimes.
PR: 2655
Diffstat (limited to 'apps/speed.c')
-rw-r--r--apps/speed.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/speed.c b/apps/speed.c
index 1eed48c11c..ffc50265ee 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -108,8 +108,14 @@
#include <signal.h>
#endif
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__CYGWIN__)
#include <windows.h>
+# if defined(__CYGwIN__) && !defined(_WIN32)
+ /* <windows.h> should define _WIN32, which normally is mutually
+ * exclusive with __CYGWIN__, but if it didn't... */
+# define _WIN32
+ /* this is done because Cygwin alarm() fails sometimes. */
+# endif
#endif
#include <openssl/bn.h>
@@ -292,9 +298,12 @@ static SIGRETTYPE sig_done(int sig)
#if defined(_WIN32)
+#if !defined(SIGALRM)
#define SIGALRM
+#endif
static unsigned int lapse,schlock;
-static void alarm(unsigned int secs) { lapse = secs*1000; }
+static void alarm_win32(unsigned int secs) { lapse = secs*1000; }
+#define alarm alarm_win32
static DWORD WINAPI sleepy(VOID *arg)
{