I've tried strace-ing this, and I found that buffering
somehow gets
re-enabled. These are the relevant system calls, in order:
write(1, "x", 1) = -1
ENOSPC (No space left on device)
write(2, "No space left on device at bug.p"...,
42) = 42
open("/no/path/to/file", O_RDONLY _LARGEFIL
E) = -1 ENOENT (No such file or directory)
open("/no/path/to/file", O_RDONLY _LARGEFIL
E) = -1 ENOENT (No such file or directory)
open("/no/path/to/file", O_RDONLY _LARGEFIL
E) = -1 ENOENT (No such file or directory)
write(1, "xx", 2) = -1
ENOSPC (No space left on device)
Even if I include $|=1 in the loop just before
"print", the "xx" is not printed
seperatedly.
|