RUSAGE_THREAD is not POSIX; it's Linux-specific. HHVM now compiles on OS X,
and calling getrusage( 2 ) on OS X explodes with:
exception : f_getrusage is not supported: RUSAGE_THREAD is not defined on
this sytem [sic]
HHVM is being ported to Windows, too, where RUSAGE_THREAD is likewise missing.
So check that PHP_OS === 'Linux' before using it.
Change-Id: I6eac7d2bb4edfa1e697ae72f89299d0d5ac135f4
function wfGetRusage() {
if ( !function_exists( 'getrusage' ) ) {
return false;
- } elseif ( defined( 'HHVM_VERSION' ) ) {
+ } elseif ( defined( 'HHVM_VERSION' ) && PHP_OS === 'Linux' ) {
return getrusage( 2 /* RUSAGE_THREAD */ );
} else {
return getrusage( 0 /* RUSAGE_SELF */ );