On 2007-03-27 08:11:51 -0700, Daniel Burrows wrote:
>   Thomas,
> 
>   I've gone over an strace provided by Vincent, and it looks pretty
> clear that all the write() system calls are from a single thread -- and
> the writes that overlap each other on stdout are actually just two
> writes, being called in sequence.  The fact that they end up interleaved
> seems like it kinda violates the atomicity of write().

Note that another strace already has interleaved data in write():

[...]
 | 001e0  33 37 6d 1b 5b 32 36 20  41 63 74 69 1b 6f 6e 5b  37m.[26  Acti.on[ |
 | 001f0  73 20 20 55 6e 64 6f 32  20 36 20 64 1b 5b 33 37  s  Undo2  6 d.[37 |
 | 00200  6d 1b 5b 34 31 6d 1b 5b  6d 1b 5b 33 37 6d 1b 5b  m.[41m.[ m.[37m.[ |
 | 00210  34 30 6d 1b 5b 4b 1b 5b  32 37 64 1b 5b 4b 1b 5b  40m.[K.[ 27d.[K.[ |
 | 00220  32 38 64 6d 1b 5b 32 38  1b 64 5b 1b 5b 34 34 6d  28dm.[28 .d[.[44m |
 | 00230  1b 5b 31 6d 50 61 63 6b  61 67 65 20 20 52 65 73  .[1mPack age  Res |
 | 00240  6f 6c 76 32 65 38 72 64  1b 5b 6d 1b 5b 33 37 6d  olv2e8rd .[m.[37m |
[...]

-- 
Vincent Lefèvre <[EMAIL PROTECTED]> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

Reply via email to