summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorderaadt <>2024-07-12 07:15:28 +0000
committerderaadt <>2024-07-12 07:15:28 +0000
commit78396a0e25876766100f721572e3eab7f164d330 (patch)
tree16f1e66664d6f04e94406746b07cf8068b9fa752 /src
parentb4a70af2e7b2138e1a2735a1cca240f83b85bdf6 (diff)
downloadopenbsd-78396a0e25876766100f721572e3eab7f164d330.tar.gz
openbsd-78396a0e25876766100f721572e3eab7f164d330.tar.bz2
openbsd-78396a0e25876766100f721572e3eab7f164d330.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.c14
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);
193static void 193static void
194sig_done(int sig) 194sig_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]) {