[clocale.data.races]

# 28 Text processing library [[text]](./#text)

## 28.3 Localization library [[localization]](localization#clocale.data.races)

### 28.3.5 C library locales [[c.locales]](c.locales#clocale.data.races)

#### 28.3.5.2 Data races [clocale.data.races]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L4926)

Calls to the function setlocale may introduce a data race ([[res.on.data.races]](res.on.data.races "16.4.6.10 Data race avoidance"))
with other calls to setlocale or
with calls to the functions listed in Table [103](#tab:setlocale.data.races "Table 103: Potential setlocale data races")[.](#1.sentence-1)

See also: ISO/IEC 9899:2024, 7.11

Table [103](#tab:setlocale.data.races) — Potential setlocale data races [[tab:setlocale.data.races]](./tab:setlocale.data.races)  

| [ð](#tab:setlocale.data.races-row-1)<br>fprintf | isprint | iswdigit | localeconv | tolower |
| --- | --- | --- | --- | --- |
| [ð](#tab:setlocale.data.races-row-2)<br>fscanf | ispunct | iswgraph | mblen | toupper |
| [ð](#tab:setlocale.data.races-row-3)<br>isalnum | isspace | iswlower | mbstowcs | towlower |
| [ð](#tab:setlocale.data.races-row-4)<br>isalpha | isupper | iswprint | mbtowc | towupper |
| [ð](#tab:setlocale.data.races-row-5)<br>isblank | iswalnum | iswpunct | setlocale | wcscoll |
| [ð](#tab:setlocale.data.races-row-6)<br>iscntrl | iswalpha | iswspace | strcoll | wcstod |
| [ð](#tab:setlocale.data.races-row-7)<br>isdigit | iswblank | iswupper | strerror | wcstombs |
| [ð](#tab:setlocale.data.races-row-8)<br>isgraph | iswcntrl | iswxdigit | strtod | wcsxfrm |
| [ð](#tab:setlocale.data.races-row-9)<br>islower | iswctype | isxdigit | strxfrm | wctomb |
