int ProbeNCPU() { int ncpu = 0; char *reslns, res[1024]; #if 0 if (mach == Dec21264 || mach == Dec21164 || mach == Dec21064) { if ( !CmndOneLine(NULL, "fgrep 'cpus detected' /proc/cpuinfo", res) ) ncpu = GetLastInt(res); } #endif if (!ncpu) { reslns = CmndResults(NULL, "grep '^processor' /proc/cpuinfo"); if (reslns) ncpu = fNumLines(reslns); } return(ncpu); }
int CmndOneLine(char *cmnd, char *ln) /* * executes a system call with contents of cmnd, returns the output in ln; * Returns value returned by system call */ { int i; FILE *fp; char *tnam; ln[0] = '\0'; tnam = CmndResults(cmnd); if (tnam) { fp = fopen(tnam, "r"); assert(fp); if (!fgets(ln, 512, fp)) ln[0] = '\0'; fclose(fp); return(0); } else ln[0] = '\0'; return(1); }