diff options
| author | deraadt <> | 2024-07-12 07:15:28 +0000 |
|---|---|---|
| committer | deraadt <> | 2024-07-12 07:15:28 +0000 |
| commit | 81b25d70859b302a13e7ec9bad80369e5c066a9c (patch) | |
| tree | 16f1e66664d6f04e94406746b07cf8068b9fa752 /src | |
| parent | 7ecb3ebcd7fca446f952c433a265a17c58ef965f (diff) | |
| download | openbsd-81b25d70859b302a13e7ec9bad80369e5c066a9c.tar.gz openbsd-81b25d70859b302a13e7ec9bad80369e5c066a9c.tar.bz2 openbsd-81b25d70859b302a13e7ec9bad80369e5c066a9c.zip | |
use sigaction() to setup SIGARLM so we can set SA_RESTART, and
remove the re-arming in the handler. Better than using siginterrupt(),
and avoids the errno saving requirement in the handler also.
ok guenther millert
Diffstat (limited to 'src')
| -rw-r--r-- | src/usr.bin/openssl/speed.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/usr.bin/openssl/speed.c b/src/usr.bin/openssl/speed.c index f1916efe1c..08d19c9795 100644 --- a/src/usr.bin/openssl/speed.c +++ b/src/usr.bin/openssl/speed.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: speed.c,v 1.37 2024/07/09 11:21:44 deraadt Exp $ */ | 1 | /* $OpenBSD: speed.c,v 1.38 2024/07/12 07:15:28 deraadt Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -193,10 +193,6 @@ static void sig_done(int sig); | |||
| 193 | static void | 193 | static void |
| 194 | sig_done(int sig) | 194 | sig_done(int sig) |
| 195 | { | 195 | { |
| 196 | int save_errno = errno; | ||
| 197 | |||
| 198 | signal(SIGALRM, sig_done); | ||
| 199 | errno = save_errno; | ||
| 200 | run = 0; | 196 | run = 0; |
| 201 | } | 197 | } |
| 202 | 198 | ||
| @@ -436,6 +432,7 @@ speed_main(int argc, char **argv) | |||
| 436 | int decrypt = 0; | 432 | int decrypt = 0; |
| 437 | int multi = 0; | 433 | int multi = 0; |
| 438 | const char *errstr = NULL; | 434 | const char *errstr = NULL; |
| 435 | struct sigaction sa; | ||
| 439 | 436 | ||
| 440 | if (pledge("stdio proc", NULL) == -1) { | 437 | if (pledge("stdio proc", NULL) == -1) { |
| 441 | perror("pledge"); | 438 | perror("pledge"); |
| @@ -935,7 +932,12 @@ speed_main(int argc, char **argv) | |||
| 935 | memset(rsa_c, 0, sizeof(rsa_c)); | 932 | memset(rsa_c, 0, sizeof(rsa_c)); |
| 936 | #define COND(c) (run && count<0x7fffffff) | 933 | #define COND(c) (run && count<0x7fffffff) |
| 937 | #define COUNT(d) (count) | 934 | #define COUNT(d) (count) |
| 938 | signal(SIGALRM, sig_done); | 935 | |
| 936 | memset(&sa, 0, sizeof(sa)); | ||
| 937 | sigemptyset(&sa.sa_mask); | ||
| 938 | sa.sa_flags = SA_RESTART; | ||
| 939 | sa.sa_handler = sig_done; | ||
| 940 | sigaction(SIGALRM, &sa, NULL); | ||
| 939 | 941 | ||
| 940 | #ifndef OPENSSL_NO_MD4 | 942 | #ifndef OPENSSL_NO_MD4 |
| 941 | if (doit[D_MD4]) { | 943 | if (doit[D_MD4]) { |
