summaryrefslogtreecommitdiffstats
path: root/term-utils
diff options
context:
space:
mode:
authorStanislav Brabec2015-02-06 19:59:14 +0100
committerKarel Zak2015-02-10 11:18:51 +0100
commit0b285b84b2f14339fd86857244654ba25fac7d73 (patch)
treee24b2bbcce12294a9c6137512abb4755143869e7 /term-utils
parentlibmount: MNT_OMODE_FORCE usage (diff)
downloadkernel-qcow2-util-linux-0b285b84b2f14339fd86857244654ba25fac7d73.tar.gz
kernel-qcow2-util-linux-0b285b84b2f14339fd86857244654ba25fac7d73.tar.xz
kernel-qcow2-util-linux-0b285b84b2f14339fd86857244654ba25fac7d73.zip
Fix "Script started" buffering race
script -c "echo Hallo World" </dev/null >script.log ; cat script.log Before: Hallo World Script started, file is typescript Script started, file is typescript Script done, file is typescript After: Script started, file is typescript Hallo World Script done, file is typescript
Diffstat (limited to 'term-utils')
-rw-r--r--term-utils/script.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/term-utils/script.c b/term-utils/script.c
index 548334cbc..02ba5965d 100644
--- a/term-utils/script.c
+++ b/term-utils/script.c
@@ -269,6 +269,7 @@ main(int argc, char **argv) {
sigprocmask(SIG_SETMASK, NULL, &block_mask);
sigaddset(&block_mask, SIGCHLD);
+ fflush(stdout);
sigprocmask(SIG_SETMASK, &block_mask, &unblock_mask);
child = fork();
sigprocmask(SIG_SETMASK, &unblock_mask, NULL);