Check for GetProcessTimes and use it in getutime

Originally committed as revision 9629 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ramiro Polla 2007-07-13 16:11:36 +00:00
parent 7829950cf2
commit 7495c3066d
2 changed files with 13 additions and 1 deletions

2
configure vendored
View File

@ -667,6 +667,7 @@ HAVE_LIST="
fast_unaligned
fork
freetype2
GetProcessTimes
getrusage
imlib2
inet_aton
@ -1598,6 +1599,7 @@ elif check_func dlopen -ldl; then
fi
check_func getrusage
check_func2 windows.h GetProcessTimes
check_func fork

View File

@ -34,6 +34,10 @@
#include "fifo.h"
#include "avstring.h"
#if !defined(HAVE_GETRUSAGE) && defined(HAVE_GETPROCESSTIMES)
#include <windows.h>
#endif
#if defined(HAVE_TERMIOS_H)
#include <unistd.h>
#include <fcntl.h>
@ -3112,7 +3116,13 @@ static int64_t getutime(void)
getrusage(RUSAGE_SELF, &rusage);
return (rusage.ru_utime.tv_sec * 1000000LL) + rusage.ru_utime.tv_usec;
#elif defined(__MINGW32__)
#elif defined(HAVE_GETPROCESSTIMES)
HANDLE proc;
FILETIME c, e, k, u;
proc = GetCurrentProcess();
GetProcessTimes(proc, &c, &e, &k, &u);
return ((int64_t) u.dwHighDateTime << 32 | u.dwLowDateTime) / 10;
#else
return av_gettime();
#endif
}