diff options
author | Karel Zak <kzak@redhat.com> | 2007-08-07 00:36:31 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2007-08-07 00:36:31 +0200 |
commit | 1f58c445c6805c1a611a7eb1cde0ced633c40b6f (patch) | |
tree | 0daf55d335a6b5d24aa7841ac7a6951c943286ff /mount | |
parent | a512390d9296ac5183cde1c2ca9e5fd9158ccf5e (diff) | |
download | util-linux-old-1f58c445c6805c1a611a7eb1cde0ced633c40b6f.tar.gz |
script: fix race conditions
script(1) uses three processes (doinput, dooutput and doshell). It's
possible that the shell process is finished before the input and
output processes are completely initialized. For example:
$ script -c "printf Bingo"
In particular case the output and input processes read/write data from
shell process in time when the shell process is already done -- so it
hangs on read().
The second problem is that the output process can finish although
there are unread data from finished shell process -- an output in
the typescript file and on terminal is incomplete!
script(1) has to pass:
$ for i in `seq 1 1000`; do script -q -c "printf 'Bingo\n'"; done | grep -c Bingo
1000
without problems.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'mount')
0 files changed, 0 insertions, 0 deletions