summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2001-09-28 12:34:48 +0200
committerRichard Levitte <levitte@openssl.org>2001-09-28 12:34:48 +0200
commita4a8f7b3eff1700c50a3bbbd36fc319916da3e04 (patch)
tree0fc74ac167f697731a92aa4d2d6c855f1c9bf5d6
parentENGINE_register_all_complete() will register all implementations of all (diff)
downloadopenssl-a4a8f7b3eff1700c50a3bbbd36fc319916da3e04.tar.xz
openssl-a4a8f7b3eff1700c50a3bbbd36fc319916da3e04.zip
Change HZ in speed to rely on sysconf() if the clock tick is available
that way. Synchronise s_time with these changes.
-rw-r--r--apps/s_time.c23
-rw-r--r--apps/speed.c27
2 files changed, 31 insertions, 19 deletions
diff --git a/apps/s_time.c b/apps/s_time.c
index 0e2f4566c9..3b6c808885 100644
--- a/apps/s_time.c
+++ b/apps/s_time.c
@@ -67,20 +67,21 @@
#include <stdlib.h>
#include <string.h>
+#define USE_SOCKETS
+#include "apps.h"
#ifdef OPENSSL_NO_STDIO
#define APPS_WIN16
#endif
-#define USE_SOCKETS
#include <openssl/x509.h>
#include <openssl/ssl.h>
#include <openssl/pem.h>
-#include "apps.h"
#include "s_apps.h"
#include <openssl/err.h>
#ifdef WIN32_STUFF
#include "winmain.h"
#include "wintext.h"
#endif
+#include OPENSSL_UNISTD
#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
#define TIMES
@@ -119,11 +120,19 @@
/* The following if from times(3) man page. It may need to be changed
*/
#ifndef HZ
-#ifndef CLK_TCK
-#define HZ 100.0
-#else /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif
+# ifdef _SC_CLK_TCK
+# define HZ ((double)sysconf(_SC_CLK_TCK))
+# else
+# ifndef CLK_TCK
+# ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
+# define HZ 100.0
+# else /* _BSD_CLK_TCK_ */
+# define HZ ((double)_BSD_CLK_TCK_)
+# endif
+# else /* CLK_TCK */
+# define HZ ((double)CLK_TCK)
+# endif
+# endif
#endif
#undef PROG
diff --git a/apps/speed.c b/apps/speed.c
index 2024c38c5e..45df8aa91b 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -83,6 +83,7 @@
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/objects.h>
+#include OPENSSL_UNISTD
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENSSL_SYS_MACOSX)
# define USE_TOD
@@ -181,17 +182,16 @@
/* The following if from times(3) man page. It may need to be changed */
#ifndef HZ
-# ifndef CLK_TCK
-# ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
-# define HZ 100.0
-# else /* _BSD_CLK_TCK_ */
-# define HZ ((double)_BSD_CLK_TCK_)
-# endif
-# else /* CLK_TCK */
-# ifdef OPENSSL_SYS_LINUX /* Because it seems like some Linuxen
- have weird values here... */
-# define HZ 100.0
-# else
+# ifdef _SC_CLK_TCK
+# define HZ ((double)sysconf(_SC_CLK_TCK))
+# else
+# ifndef CLK_TCK
+# ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
+# define HZ 100.0
+# else /* _BSD_CLK_TCK_ */
+# define HZ ((double)_BSD_CLK_TCK_)
+# endif
+# else /* CLK_TCK */
# define HZ ((double)CLK_TCK)
# endif
# endif
@@ -1446,7 +1446,10 @@ int MAIN(int argc, char **argv)
#endif
#ifdef HZ
#define as_string(s) (#s)
- printf("HZ=%g", (double)HZ);
+ printf("HZ=%g", HZ);
+# ifdef _SC_CLK_TCK
+ printf(" [sysconf value]");
+# endif
#endif
printf("\n");
printf("timing function used: %s%s%s%s%s%s%s\n",