[Python-ideas] Async API: some code to review
Greg Ewing
greg.ewing at canterbury.ac.nz
Tue Oct 30 00:53:56 CET 2012
Mark Hackett wrote:
> Is that actually true? It may be guaranteed on Intel x86 compatibles and Linux
> (because of the string operations available in the x86 instruction set), but I
> don't thing anything other than an IPC message has a "you can write a string
> atomically" guarantee. And I may be misremembering that.
It seems to be a POSIX requirement:
PIPE_BUF
POSIX.1-2001 says that write(2)s of less than PIPE_BUF bytes must be
atomic: the output data is written to the pipe as a contiguous
sequence.
(From http://dell9.ma.utexas.edu/cgi-bin/man-cgi?pipe+7)
There's no corresponding guarantee for reading, though. The process
on the other end can't be sure of getting the data from one write()
call in a single read() call. In other words, the write does *not*
establish a record boundary.
--
Greg
More information about the Python-ideas
mailing list