Implement GetThreadCount for AIX.

This commit is contained in:
Matthew Brandyberry 2015-10-02 11:15:53 -05:00
parent 0dd5ef8bd4
commit a7964a3fbd

View File

@ -58,6 +58,10 @@
# include <sys/procfs.h> # include <sys/procfs.h>
#endif // GTEST_OS_QNX #endif // GTEST_OS_QNX
#if GTEST_OS_AIX
# include <procinfo.h>
#endif // GTEST_OS_AIX
#include "gtest/gtest-spi.h" #include "gtest/gtest-spi.h"
#include "gtest/gtest-message.h" #include "gtest/gtest-message.h"
#include "gtest/internal/gtest-internal.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 #else
size_t GetThreadCount() { size_t GetThreadCount() {