Use up-to-date functions.

This commit is contained in:
Ben Laurie 2000-07-01 16:25:20 +00:00
parent 4e74239cca
commit 2bfb4dbce4

View File

@ -82,7 +82,9 @@
#include <openssl/rand.h>
#include <openssl/err.h>
#if !defined(MSDOS) && (!defined(VMS) || defined(__DECC))
#if defined(__FreeBSD__)
# define USE_TOD
#elif !defined(MSDOS) && (!defined(VMS) || defined(__DECC))
# define TIMES
#endif
@ -93,6 +95,10 @@
# include <sys/types.h>
# include <sys/times.h>
#endif
#ifdef USE_TOD
# include <sys/time.h>
# include <sys/resource.h>
#endif
/* Depending on the VMS version, the tms structure is perhaps defined.
The __TMS macro will show if it was. If it wasn't defined, we should
@ -203,6 +209,48 @@ static SIGRETTYPE sig_done(int sig)
static double Time_F(int s, int usertime)
{
double ret;
#ifdef USE_TOD
if(usertime)
{
static struct rusage tstart,tend;
if (s == START)
{
getrusage(RUSAGE_SELF,&tstart);
return(0);
}
else
{
long i;
getrusage(RUSAGE_SELF,&tend);
i=(long)tend.ru_utime.tv_usec-(long)tstart.ru_utime.tv_usec;
ret=((double)(tend.ru_utime.tv_sec-tstart.ru_utime.tv_sec))
+((double)i)/1000000.0;
return((ret < 0.001)?0.001:ret);
}
}
else
{
static struct timeval tstart,tend;
long i;
if (s == START)
{
gettimeofday(&tstart,NULL);
return(0);
}
else
{
gettimeofday(&tend,NULL);
i=(long)tend.tv_usec-(long)tstart.tv_usec;
ret=((double)(tend.tv_sec-tstart.tv_sec))+((double)i)/1000000.0;
return((ret < 0.001)?0.001:ret);
}
}
#else /* ndef USE_TOD */
# ifdef TIMES
if (usertime)
{
@ -239,6 +287,7 @@ static double Time_F(int s, int usertime)
return((ret < 0.001)?0.001:ret);
}
}
#endif
}
int MAIN(int, char **);