[PATCH 3/4] linux: Use /sys/devices/system/cpu/possible on __get_nprocs_conf
Florian Weimer
fweimer@redhat.com
Wed May 5 18:06:27 GMT 2021
* Florian Weimer:
> * Adhemerval Zanella via Libc-alpha:
>
>> + /* The entry is in the form of '[cpuX]-[cpuY]'. */
>> + char buf[2 * INT_STRLEN_BOUND (unsigned int) + 1];
>> +
>> + ssize_t n = __read_nocancel (fd, buf, sizeof (buf));
>> + if (n > 0)
>> + {
>> + buf[n] = '\0';
>> +
>> + /* Start on the right, to find highest node number. */
>> + int m = 1;
>> + while (--n)
>> + {
>> + if ((buf[n] == ',') || (buf[n] == '-'))
>> + break;
>> + /* Ignore '\n' */
>> + if (! isdigit (buf[n]))
>> + continue;
>> + result += (buf[n] - '0') * m;
>> + m *= 10;
>> + }
>> + }
>> +
>> + __close_nocancel (fd);
>> + return result + 1;
>> }
>
> I think the /online and /possible files have the same layout, so you
> could use both.
Sorry, I meant to write: “so you could use *one parser for* both”
Florian
More information about the Libc-alpha
mailing list