On Thu, Dec 27, 2012 at 05:23:17PM +0100, Sven Barth wrote: > - ProcessorCount (class): > Returns the count of CPU cores detected by the RTL. This is > based on the new global property System.GetCPUCount which needs to > be implemented per target. Currently only a default implementation > exists which returns "1".
On linux, this can be done with sched_getaffinity, which gives you the number of processing units that the current process can run on. I guess this is the number we're looking for here? If you need all the processors, you need to read the information under /sys/devices/system/cpu (the topology subdirectory may be handy to filter out HTT), possibly falling back to /proc/stat and /proc/cpuinfo if necessary. Take a look at the `nproc` utility from gnu coreutils. http://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/nproc.c http://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/getsysstats.c;h=22285f39f33bf26cd55f424ddf4f24300d0d9e72;hb=HEAD Henry _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
