Compat fix for HHVM on non-Linux OSs
authorOri Livneh <ori@wikimedia.org>
Wed, 23 Sep 2015 08:53:47 +0000 (01:53 -0700)
committerOri Livneh <ori@wikimedia.org>
Wed, 23 Sep 2015 08:55:57 +0000 (01:55 -0700)
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

includes/profiler/ProfilerFunctions.php

index 6c58453..50a77ec 100644 (file)
@@ -32,7 +32,7 @@
 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 */ );