View Issue Details

IDProjectCategoryView StatusLast Update
00009661003.1(2013)/Issue7+TC1System Interfacespublic2019-06-10 08:54
Reportergian Assigned To 
PrioritynormalSeverityEditorialTypeError
Status ClosedResolutionAccepted As Marked 
NameGian Ntzik
OrganizationImperial College London
User Reference
SectionXSH 2.9.7 write,read
Page Number1756, 2291
Line Number56485-56490, 72619-72620
Interp Status---
Final Accepted Text0000966:0002774
Summary0000966: Atomicity requirements for read/write ambiguity
DescriptionXSH 2.97 states that the read and write interfaces are required to be atomic when operating on regular files.

The RATIONALE section of read states:
"I/O is intended to be atomic to ordinary files and pipes and FIFOs. Atomic means that all the bytes from a single operation that started out together end up together, without interleaving from other I/O operations."

The RATIONALE section of write states:
"This volume of POSIX.1-2008 does not specify behavior of concurrent writes to a file from multiple processes. Applications should use some form of concurrency control."

The later statement introduces ambiguity wrt to the others.
If write is required to be atomic for regular files, then this volume of POSIX.1-2008 does specify behavior for concurrent writes: they are atomic.

Perhaps the intention is to make a statement about absence of specification for non-regular files, or to allow atomicity to be confined only to threads of the same process.
Desired ActionMake descriptions of concurrent interactions of read/write interfaces with respect to regular files consistent.

Explicitly state any allowed deviations from atomicity.
Tagstc2-2008

Activities

Don Cragun

2015-07-16 19:54

manager   bugnote:0002766

The standard does specify that reads and writes (up to certain size limitations) are atomic for regular files. But, if two processes (or two threads in a single process) both write to the same (or overlapping) regions of a file simultaneously, the standard does not specify which of those two atomic operations will complete first.

geoffclare

2015-07-23 16:28

manager   bugnote:0002774

Last edited: 2015-07-23 16:28

On page 2291 line 72619, change from:

This volume of POSIX.1-2008 does not specify behavior of concurrent writes to a file from multiple processes.

to:

This volume of POSIX.1-2008 does not specify the behavior of concurrent writes to a regular file from multiple threads, except that each write is atomic (see [xref to 2.9.7]).

Issue History

Date Modified Username Field Change
2015-06-29 13:19 gian New Issue
2015-06-29 13:19 gian Name => Gian Ntzik
2015-06-29 13:19 gian Organization => Imperial College London
2015-06-29 13:19 gian Section => XSH 2.9.7 write,read
2015-07-15 19:16 eblake Interp Status => ---
2015-07-15 19:16 eblake Summary Atomicity requirements for read/write ambigouity => Atomicity requirements for read/write ambiguity
2015-07-16 19:54 Don Cragun Page Number => 1756, 2291
2015-07-16 19:54 Don Cragun Line Number => 56485-56490, 72619-72620
2015-07-16 19:54 Don Cragun Note Added: 0002766
2015-07-23 16:28 geoffclare Note Added: 0002774
2015-07-23 16:28 geoffclare Note Edited: 0002774
2015-07-23 16:30 geoffclare Final Accepted Text => 0000966:0002774
2015-07-23 16:30 geoffclare Status New => Resolved
2015-07-23 16:30 geoffclare Resolution Open => Accepted As Marked
2015-07-23 16:30 geoffclare Tag Attached: tc2-2008
2019-06-10 08:54 agadmin Status Resolved => Closed