aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBilly Donahue <BillyDonahue@users.noreply.github.com>2015-12-10 17:29:15 -0500
committerBilly Donahue <BillyDonahue@users.noreply.github.com>2015-12-10 17:29:15 -0500
commitddb8012eb48bc203aa93dcc2b22c1db516302b29 (patch)
tree3544c51f070a73b702663fb89e4a2c5a31febc68
parent0162ff72e80e50e06264081d6e278a5af5d5228a (diff)
parentbf7e9e8c2bb3892d9b4dedda81c988aad6fea5c7 (diff)
downloadgoogletest-ddb8012eb48bc203aa93dcc2b22c1db516302b29.tar.gz
googletest-ddb8012eb48bc203aa93dcc2b22c1db516302b29.tar.bz2
googletest-ddb8012eb48bc203aa93dcc2b22c1db516302b29.zip
Merge pull request #602 from mtbrandy/threadcount_aix
Implement GetThreadCount for AIX.
-rw-r--r--googletest/src/gtest-port.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/googletest/src/gtest-port.cc b/googletest/src/gtest-port.cc
index 3842c415..0162fac4 100644
--- a/googletest/src/gtest-port.cc
+++ b/googletest/src/gtest-port.cc
@@ -58,6 +58,11 @@
# include <sys/procfs.h>
#endif // GTEST_OS_QNX
+#if GTEST_OS_AIX
+# include <procinfo.h>
+# include <sys/types.h>
+#endif // GTEST_OS_AIX
+
#include "gtest/gtest-spi.h"
#include "gtest/gtest-message.h"
#include "gtest/internal/gtest-internal.h"
@@ -146,6 +151,19 @@ size_t GetThreadCount() {
}
}
+#elif GTEST_OS_AIX
+
+size_t GetThreadCount() {
+ struct procentry64 entry;
+ pid_t pid = getpid();
+ int status = getprocs64(&entry, sizeof(entry), NULL, 0, &pid, 1);
+ if (status == 1) {
+ return entry.pi_thcount;
+ } else {
+ return 0;
+ }
+}
+
#else
size_t GetThreadCount() {