[fs.race.behavior]

# 31 Input/output library [[input.output]](./#input.output)

## 31.12 File systems [[filesystems]](filesystems#fs.race.behavior)

### 31.12.2 Conformance [[fs.conformance]](fs.conformance#fs.race.behavior)

#### 31.12.2.4 File system race behavior [fs.race.behavior]

[1](#1)

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

A [*file system race*](#def:file_system_race "31.12.2.4 File system race behavior [fs.race.behavior]") is
the condition that occurs
when multiple threads, processes, or computers interleave access and
modification of
the same object within a file system[.](#1.sentence-1)

Behavior is undefined if calls to functions provided by subclause [[filesystems]](filesystems "31.12 File systems") introduce a file system race[.](#1.sentence-2)

[2](#2)

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

If the possibility of a file system race would make it unreliable for a
program to test for a precondition before calling a function described herein,*Preconditions*: is not specified for the function[.](#2.sentence-1)

[*Note [1](#note-1)*:

As a design practice, preconditions are not specified when it
is unreasonable for a program to detect them prior to calling the function[.](#2.sentence-2)

â *end note*]
