This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[COMMITTED] manual/llio.texi: Comment that write on Linux has been fixed to avoid races in offset.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]