diff options
| author | Vito Caputo <vcaputo@pengaru.com> | 2021-10-01 16:35:08 -0700 | 
|---|---|---|
| committer | Vito Caputo <vcaputo@pengaru.com> | 2021-10-01 16:35:08 -0700 | 
| commit | b686b405c6a22b26e9b8082c92ed91513608bea3 (patch) | |
| tree | 0000f671501863a8ee9b536ba869221d0f6710f9 /src/til_util.c | |
| parent | d1da5500261e96efe0ede06fbebb32f0e191f3c1 (diff) | |
*: librototiller->libtil
Largely mechanical rename of librototiller -> libtil, but
introducing a til_ prefix to all librototiller (now libtil)
functions and types where a rototiller prefix was absent.
This is just a step towards a more libized librototiller, and til
is just a nicer to type/read prefix than rototiller_.
Diffstat (limited to 'src/til_util.c')
| -rw-r--r-- | src/til_util.c | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/src/til_util.c b/src/til_util.c new file mode 100644 index 0000000..e9b1021 --- /dev/null +++ b/src/til_util.c @@ -0,0 +1,35 @@ +#include <limits.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> + +#ifdef __WIN32__ +#include <windows.h> +#endif + +#include "til_util.h" + +#define TIL_SYSFS_CPU	"/sys/devices/system/cpu/cpu" +#define TIL_MAXCPUS		1024 + +unsigned til_get_ncpus(void) +{ +#ifdef __WIN32__ +	SYSTEM_INFO sysinfo; + +	GetSystemInfo(&sysinfo); + +	return sysinfo.dwNumberOfProcessors; +#else +	char		path[cstrlen(TIL_SYSFS_CPU "1024") + 1]; +	unsigned	n; + +	for (n = 0; n < TIL_MAXCPUS; n++) { +		snprintf(path, sizeof(path), "%s%u", TIL_SYSFS_CPU, n); +		if (access(path, F_OK) == -1) +			break; +	} + +	return n == 0 ? 1 : n; +#endif +} | 
