diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-02-20 18:26:58 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-02-20 18:26:58 +0000 |
commit | 89bc16599528f4978d3c7767be0561bb6c66cd86 (patch) | |
tree | 1da05ba8241fa3d40b5d1c1a838973bc720c1793 /externals/vanilla/cputime.c | |
parent | d967b146a8d0b6ec3c69ebc67ff8c66eaeb13a1c (diff) |
sync with x_misc.c from pure-data.git 0.42-1
svn path=/trunk/; revision=16005
Diffstat (limited to 'externals/vanilla/cputime.c')
-rw-r--r-- | externals/vanilla/cputime.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/externals/vanilla/cputime.c b/externals/vanilla/cputime.c index 875c065c..a8246cc3 100644 --- a/externals/vanilla/cputime.c +++ b/externals/vanilla/cputime.c @@ -9,45 +9,44 @@ #include <math.h> #include <stdio.h> #include <string.h> -#ifdef UNISTD +#ifdef _WIN32 +#include <wtypes.h> +#include <time.h> +#else #include <sys/types.h> #include <sys/time.h> #include <sys/times.h> #include <sys/param.h> #include <unistd.h> -#endif -#ifdef _WIN32 -#include <wtypes.h> -#include <time.h> -#endif +#endif /* _WIN32 */ #if defined (__APPLE__) || defined (__FreeBSD__) #define CLOCKHZ CLK_TCK #endif -#if defined (__linux__) +#if defined (__linux__) || defined (__CYGWIN__) || defined (ANDROID) #define CLOCKHZ sysconf(_SC_CLK_TCK) #endif +#if defined (__FreeBSD_kernel__) || defined(__GNU__) +#include <time.h> +#define CLOCKHZ CLOCKS_PER_SEC +#endif static t_class *cputime_class; typedef struct _cputime { t_object x_obj; -#ifdef UNISTD - struct tms x_setcputime; -#endif #ifdef _WIN32 LARGE_INTEGER x_kerneltime; LARGE_INTEGER x_usertime; int x_warned; -#endif +#else + struct tms x_setcputime; +#endif /* _WIN32 */ } t_cputime; static void cputime_bang(t_cputime *x) { -#ifdef UNISTD - times(&x->x_setcputime); -#endif #ifdef _WIN32 FILETIME ignorethis, ignorethat; BOOL retval; @@ -61,12 +60,14 @@ static void cputime_bang(t_cputime *x) x->x_kerneltime.QuadPart = 0; x->x_usertime.QuadPart = 0; } -#endif +#else + times(&x->x_setcputime); +#endif /* _WIN32 */ } static void cputime_bang2(t_cputime *x) { -#ifdef UNISTD +#ifndef _WIN32 t_float elapsedcpu; struct tms newcputime; times(&newcputime); @@ -74,8 +75,7 @@ static void cputime_bang2(t_cputime *x) newcputime.tms_utime + newcputime.tms_stime - x->x_setcputime.tms_utime - x->x_setcputime.tms_stime) / CLOCKHZ; outlet_float(x->x_obj.ob_outlet, elapsedcpu); -#endif -#ifdef _WIN32 +#else t_float elapsedcpu; FILETIME ignorethis, ignorethat; LARGE_INTEGER usertime, kerneltime; @@ -89,7 +89,7 @@ static void cputime_bang2(t_cputime *x) (usertime.QuadPart - x->x_usertime.QuadPart)); else elapsedcpu = 0; outlet_float(x->x_obj.ob_outlet, elapsedcpu); -#endif +#endif /* NOT _WIN32 */ } static void *cputime_new(void) |