Mac: Use strtod_l() only in Manager. Use strtod() in client, etc. #5279
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #5249, #5211
PR #5211 implemented a workaround for MacOS 13.3.1 having apparently broken the per-thread locale API
useloclae()
, by using thestrtod_l()
function instead ofstrtod()
. This change was needed only in the Manager (since the client doesn't use a separate RPC thread), but the changes were in lib/parse.cpp and lib/parse.h which are used by the BOINC client as well as the BOINC Manager (and also other components of BOINC.)While my tests indicate that
strtod_l()
actually takes less CPU time thanstrtod()
on the M1 Mac, this PR lists the use ofstrtod_l()
to BIONC Manager just in case its use in the client might contribute to the long task CPU times reported in issue #5249.