diff options
Diffstat (limited to 'crypto/tmdiff.c')
-rw-r--r-- | crypto/tmdiff.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/crypto/tmdiff.c b/crypto/tmdiff.c index eccba43c0b..aea47598ad 100644 --- a/crypto/tmdiff.c +++ b/crypto/tmdiff.c @@ -65,7 +65,7 @@ #undef TIMES #endif -#if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_VMS) || defined(__DECC) && !defined(OPENSSL_SYS_MACOSX) +#if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_VMS) || defined(__DECC) && !defined(OPENSSL_SYS_MACOSX) && !defined(OPENSSL_SYS_VXWORKS) # define TIMES #endif @@ -91,7 +91,7 @@ #include <sys/param.h> #endif -#ifndef TIMES +#if !defined(TIMES) && !defined(OPENSSL_SYS_VXWORKS) #include <sys/timeb.h> #endif @@ -121,7 +121,11 @@ typedef struct ms_tm HANDLE thread_id; FILETIME ms_win32; # else +# ifdef OPENSSL_SYS_VSWORKS + unsigned long ticks; +# else struct timeb ms_timeb; +# endif # endif #endif } MS_TM; @@ -159,7 +163,11 @@ void ms_time_get(char *a) # ifdef OPENSSL_SYS_WIN32 GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32)); # else +# ifdef OPENSSL_SYS_VSWORKS + tm->ticks = tickGet(); +# else ftime(&tm->ms_timeb); +# endif # endif #endif } @@ -189,10 +197,14 @@ double ms_time_diff(char *ap, char *bp) ret=((double)(lb-la))/1e7; } # else +# ifdef OPENSSL_SYS_VSWORKS + ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet(); +# else ret= (double)(b->ms_timeb.time-a->ms_timeb.time)+ (((double)b->ms_timeb.millitm)- ((double)a->ms_timeb.millitm))/1000.0; # endif +# endif #endif return((ret < 0.0000001)?0.0000001:ret); } @@ -210,6 +222,9 @@ int ms_time_cmp(char *ap, char *bp) d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7; d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7; # else +# ifdef OPENSSL_SYS_VSWORKS + d = (b->ticks - a->ticks); +# else d= (double)(b->ms_timeb.time-a->ms_timeb.time)+ (((double)b->ms_timeb.millitm)-(double)a->ms_timeb.millitm)/1000.0; # endif |