Wasm: Implement QThread::idealThreadCount()

Read the navigator.hardwareConcurrency property.

Task-number: QTBUG-64625
Change-Id: I2ad582b67e4b0ddac3e3c21febab55543b2e1d6d
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
This commit is contained in:
Morten Johan Sørvig 2018-12-12 10:00:05 +01:00
parent de4f256d48
commit c1f4286a5c

View File

@ -100,6 +100,9 @@
#include <sys/neutrino.h>
#endif
#if defined(Q_OS_WASM)
#include <emscripten/val.h>
#endif
QT_BEGIN_NAMESPACE
@ -499,6 +502,8 @@ int QThread::idealThreadCount() Q_DECL_NOTHROW
// as of aug 2008 VxWorks < 6.6 only supports one single core CPU
cores = 1;
# endif
#elif defined(Q_OS_WASM)
cores = emscripten::val::global("navigator")["hardwareConcurrency"].as<int>();
#else
// the rest: Linux, Solaris, AIX, Tru64
cores = (int)sysconf(_SC_NPROCESSORS_ONLN);