42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
[support.runtime.general]
|
||
|
||
# 17 Language support library [[support]](./#support)
|
||
|
||
## 17.14 Other runtime support [[support.runtime]](support.runtime#general)
|
||
|
||
### 17.14.1 General [support.runtime.general]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6346)
|
||
|
||
Headers[<csetjmp>](csetjmp.syn#header:%3ccsetjmp%3e "17.14.3 Header <csetjmp> synopsis [csetjmp.syn]") (nonlocal jumps),[<csignal>](csignal.syn#header:%3ccsignal%3e "17.14.4 Header <csignal> synopsis [csignal.syn]") (signal handling),[<cstdarg>](cstdarg.syn#header:%3ccstdarg%3e "17.14.2 Header <cstdarg> synopsis [cstdarg.syn]") (variable arguments),
|
||
and[<cstdlib>](cstdlib.syn#header:%3ccstdlib%3e "17.2.2 Header <cstdlib> synopsis [cstdlib.syn]") (runtime environment getenv, system),
|
||
provide further compatibility with C code[.](#1.sentence-1)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6357)
|
||
|
||
Calls to the functiongetenv ([[cstdlib.syn]](cstdlib.syn "17.2.2 Header <cstdlib> synopsis")) shall not introduce a data
|
||
race ([[res.on.data.races]](res.on.data.races "16.4.6.10 Data race avoidance")) provided that nothing modifies the environment[.](#2.sentence-1)
|
||
|
||
[*Note [1](#note-1)*:
|
||
|
||
Calls to the POSIX functionssetenv andputenv modify the
|
||
environment[.](#2.sentence-2)
|
||
|
||
â *end note*]
|
||
|
||
[3](#3)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6371)
|
||
|
||
A call to the [setlocale](clocale.syn#lib:setlocale "28.3.5.1 Header <clocale> synopsis [clocale.syn]") function
|
||
may introduce a data race with other
|
||
calls to the setlocale function or with calls to functions that are
|
||
affected by the current C locale[.](#3.sentence-1)
|
||
|
||
The implementation shall behave as if no
|
||
library function other than locale::global calls the setlocale function[.](#3.sentence-2)
|