diff options
author | Andy Polyakov <appro@openssl.org> | 2018-05-19 15:53:29 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2018-05-30 18:25:36 +0200 |
commit | ffcca684ec7bd2d3081a0f5a5befa9972fdd7765 (patch) | |
tree | d9438d4fccf61626e8db256a4ffaf129bfcb7ed1 /apps | |
parent | 1e8d5ea5df61daa46e8874d1f443e0e75211253b (diff) |
apps/speed.c: clean up SIGARM handling.
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6311)
Diffstat (limited to 'apps')
-rw-r--r-- | apps/speed.c | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/apps/speed.c b/apps/speed.c index e5132631cf..4facebfbfb 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -197,29 +197,29 @@ static const int lengths_list[] = { }; static const int *lengths = lengths_list; +#define START 0 +#define STOP 1 + #ifdef SIGALRM -# if defined(__STDC__) || defined(sgi) || defined(_AIX) -# define SIGRETTYPE void -# else -# define SIGRETTYPE int -# endif -static SIGRETTYPE sig_done(int sig); -static SIGRETTYPE sig_done(int sig) +static void alarmed(int sig) { - signal(SIGALRM, sig_done); + signal(SIGALRM, alarmed); run = 0; } -#endif -#define START 0 -#define STOP 1 +static double Time_F(int s) +{ + double ret = app_tminterval(s, usertime); + if (s == STOP) + alarm(0); + return ret; +} -#if defined(_WIN32) +#elif defined(_WIN32) + +# define SIGALRM -1 -# if !defined(SIGALRM) -# define SIGALRM -# endif static unsigned int lapse; static volatile unsigned int schlock; static void alarm_win32(unsigned int secs) @@ -263,13 +263,9 @@ static double Time_F(int s) return ret; } #else - static double Time_F(int s) { - double ret = app_tminterval(s, usertime); - if (s == STOP) - alarm(0); - return ret; + return app_tminterval(s, usertime); } #endif @@ -1961,10 +1957,8 @@ int speed_main(int argc, char **argv) /* not worth fixing */ # error "You cannot disable DES on systems without SIGALRM." # endif /* OPENSSL_NO_DES */ -#else -# ifndef _WIN32 - signal(SIGALRM, sig_done); -# endif +#elif SIGALRM > 0 + signal(SIGALRM, alarmed); #endif /* SIGALRM */ #ifndef OPENSSL_NO_MD2 |