This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED] manual/llio.texi: Comment that write on Linux has been fixed to avoid races in offset.
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 06 Nov 2014 16:02:55 -0500
- Subject: [COMMITTED] manual/llio.texi: Comment that write on Linux has been fixed to avoid races in offset.
- Authentication-results: sourceware.org; auth=none
Turns out that write() racing against offset has been fixed in
Linux 3.14. I add this information to the MT-safety note comments
under write().
This is one step closer to the POSIX requirements for thread safety
regarding file operations. We still don't have atomicity with respect
to operations as required, but that might never happen due to the
performance issues with that requirement.
Checked in.
2014-11-06 Carlos O'Donell <carlos@redhat.com>
* manual/llio.texi: Add comment that write safety has been
fixed in Linux.
diff --git a/manual/llio.texi b/manual/llio.texi
index 393ddf3..4f3fada 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -491,6 +491,11 @@ When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} on a
@c
@c So we mark it thread safe, it doesn't blow up, but you might loose
@c data, and we don't strictly meet the POSIX requirements.
+@c
+@c The fix for file offsets racing was merged in 3.14, the commits were:
+@c 9c225f2655e36a470c4f58dbbc99244c5fc7f2d4, and
+@c d7a15f8d0777955986a2ab00ab181795cab14b01. Therefore after Linux 3.14 you
+@c should get mostly MT-safe writes.
The @code{write} function writes up to @var{size} bytes from
@var{buffer} to the file with descriptor @var{filedes}. The data in
@var{buffer} is not necessarily a character string and a null character is