diff options
author | Stanislav Brabec <sbrabec@suse.cz> | 2015-02-06 19:59:14 +0100 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2015-02-10 11:18:51 +0100 |
commit | 0b285b84b2f14339fd86857244654ba25fac7d73 (patch) | |
tree | e24b2bbcce12294a9c6137512abb4755143869e7 | |
parent | 6f41c5de40629c71a8f79e9be4b94f9a75f9ad21 (diff) | |
download | util-linux-playground-0b285b84b2f14339fd86857244654ba25fac7d73.tar.gz |
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
-rw-r--r-- | term-utils/script.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/term-utils/script.c b/term-utils/script.c index 548334cbc2..02ba5965db 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); |