summaryrefslogtreecommitdiffstats
path: root/googletest/src
diff options
context:
space:
mode:
authorMatthew Brandyberry <mbrandy@us.ibm.com>2015-10-02 16:15:53 (GMT)
committerMatthew Brandyberry <mbrandy@us.ibm.com>2015-10-02 16:15:53 (GMT)
commita7964a3fbd41f098349ab7086b2b7e2e55817469 (patch)
tree4ed3b769fb7c6b3f0876111130a5d456dba19a79 /googletest/src
parent0dd5ef8bd4b9e3978955e8cdab2eec7016dda4c2 (diff)
downloadgoogletest-a7964a3fbd41f098349ab7086b2b7e2e55817469.zip
googletest-a7964a3fbd41f098349ab7086b2b7e2e55817469.tar.gz
googletest-a7964a3fbd41f098349ab7086b2b7e2e55817469.tar.bz2
Implement GetThreadCount for AIX.
Diffstat (limited to 'googletest/src')
-rw-r--r--googletest/src/gtest-port.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/googletest/src/gtest-port.cc b/googletest/src/gtest-port.cc
index 3842c41..c2ea6d7 100644
--- a/googletest/src/gtest-port.cc
+++ b/googletest/src/gtest-port.cc
@@ -58,6 +58,10 @@
# include <sys/procfs.h>
#endif // GTEST_OS_QNX
+#if GTEST_OS_AIX
+# include <procinfo.h>
+#endif // GTEST_OS_AIX
+
#include "gtest/gtest-spi.h"
#include "gtest/gtest-message.h"
#include "gtest/internal/gtest-internal.h"
@@ -146,6 +150,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() {