diff options
author | Richard Levitte <levitte@openssl.org> | 2001-10-25 18:08:17 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2001-10-25 18:08:17 +0200 |
commit | 66d3e7481eb2e1415f0f42b4f979bd64b564f698 (patch) | |
tree | a05c5fc7b28361a328a3650f979b2d9be443584a /apps | |
parent | Add paralellism to speed - note that this currently causes a weird memory leak. (diff) | |
download | openssl-66d3e7481eb2e1415f0f42b4f979bd64b564f698.tar.xz openssl-66d3e7481eb2e1415f0f42b4f979bd64b564f698.zip |
Make sure openssl speed is compilable on systems where fork() doesn't
exist. For now, that's all the ones we "support" except Unix.
Diffstat (limited to 'apps')
-rw-r--r-- | apps/speed.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/apps/speed.c b/apps/speed.c index de35c47e47..70106817d8 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -197,6 +197,10 @@ # endif #endif +#if !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(OPENSSL_SYS_OS2) +# define HAVE_FORK 1 +#endif + #undef BUFSIZE #define BUFSIZE ((long)1024*8+1) int run=0; @@ -209,7 +213,9 @@ static double Time_F(int s); static void print_message(const char *s,long num,int length); static void pkey_print_message(char *str,char *str2,long num,int bits,int sec); static void print_result(int alg,int run_no,int count,double time_used); +#ifdef HAVE_FORK static int do_multi(int multi); +#endif #ifdef SIGALRM #if defined(__STDC__) || defined(sgi) || defined(_AIX) #define SIGRETTYPE void @@ -444,7 +450,9 @@ int MAIN(int argc, char **argv) int pr_header=0; const EVP_CIPHER *evp=NULL; int decrypt=0; +#ifdef HAVE_FORK int multi=0; +#endif #ifndef TIMES usertime=-1; @@ -540,6 +548,7 @@ int MAIN(int argc, char **argv) means all of them should be run) */ j--; } +#ifdef HAVE_FORK else if ((argc > 0) && (strcmp(*argv,"-multi") == 0)) { argc--; @@ -555,7 +564,10 @@ int MAIN(int argc, char **argv) BIO_printf(bio_err,"bad multi count\n"); goto end; } + j--; /* Otherwise, -mr gets confused with + an algorithm. */ } +#endif else if (argc > 0 && !strcmp(*argv,"-mr")) { mr=1; @@ -777,7 +789,9 @@ int MAIN(int argc, char **argv) BIO_printf(bio_err,"-evp e use EVP e.\n"); BIO_printf(bio_err,"-decrypt time decryption instead of encryption (only EVP).\n"); BIO_printf(bio_err,"-mr produce machine readable output.\n"); +#ifdef HAVE_FORK BIO_printf(bio_err,"-multi n run n benchmarks in parallel.\n"); +#endif goto end; } argc--; @@ -785,8 +799,10 @@ int MAIN(int argc, char **argv) j++; } +#ifdef HAVE_FORK if(multi && do_multi(multi)) goto show_res; +#endif if (j == 0) { @@ -1635,6 +1651,7 @@ static char *sstrsep(char **string, const char *delim) return token; } +#ifdef HAVE_FORK static int do_multi(int multi) { int n; @@ -1767,4 +1784,4 @@ static int do_multi(int multi) } return 1; } - +#endif |