[fpc-devel] Feature announcement: Extension of TThread's interface

Henry Vermaak henry.vermaak at gmail.com
Sat Dec 29 15:59:38 CET 2012

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.



More information about the fpc-devel mailing list