diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-06-24 10:51:26 -0400 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-06-24 10:51:26 -0400 |
| commit | 3b8e8078408feb49cd41272935f3df2e35faa092 (patch) | |
| tree | 37b1738057636ae8a472a7ccfb8ff3dcb4dd0135 /src/delivery.c | |
| parent | 2a5c9418c2043f1176ad8afb377a1d64df162bfd (diff) | |
| download | stasis-3b8e8078408feb49cd41272935f3df2e35faa092.tar.gz | |
Add get_cpu_count()
* Exposes STASIS_CPU_COUNT and CPU_COUNT to the runtime environment
Diffstat (limited to 'src/delivery.c')
| -rw-r--r-- | src/delivery.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/delivery.c b/src/delivery.c index fdc2516..5c507bf 100644 --- a/src/delivery.c +++ b/src/delivery.c @@ -353,7 +353,17 @@ int delivery_init_platform(struct Delivery *ctx) { tolower_s(ctx->system.platform[DELIVERY_PLATFORM_RELEASE]); } + long cpu_count = get_cpu_count(); + if (!cpu_count) { + fprintf(stderr, "Unable to determine CPU count. Falling back to 1.\n"); + cpu_count = 1; + } + char ncpus[100] = {0}; + sprintf(ncpus, "%ld", cpu_count); + // Declare some important bits as environment variables + setenv("CPU_COUNT", ncpus, 1); + setenv("STASIS_CPU_COUNT", ncpus, 1); setenv("STASIS_ARCH", ctx->system.arch, 1); setenv("STASIS_PLATFORM", ctx->system.platform[DELIVERY_PLATFORM], 1); setenv("STASIS_CONDA_ARCH", ctx->system.arch, 1); |
